Ansible变量成为变量

Hug*_*ugo 6 ansible ansible-playbook

我正在使用Ansible 2.1.0.0

我尝试在任务中使用带有变量的begin_user,但收到以下消息:

fatal: [host]: FAILED! => {"failed": true, "msg": "'ansible_user' is undefined"}
Run Code Online (Sandbox Code Playgroud)

执行此任务是

- name: Config git user name
  git_config: name=user.name scope=global value={{ ansible_host }}
  become: Yes
  become_user: "{{ansible_user}}"
Run Code Online (Sandbox Code Playgroud)

该剧本具有以下行来定义远程用户:

- name: Foo
  hosts: foo
  vars:
    http_port: 80
  remote_user: admin
Run Code Online (Sandbox Code Playgroud)

我已经看到此响应,似乎是相同的问题,但这对我不起作用。

我也看到过set_fact解决方案,但我想尽可能使用remote_user var,因此,如果剧本已经设置了remote_user var,则无需添加额外的行。

有谁知道该怎么做或我做错了什么?

mic*_*ard 2

那个怎么样:

- name: Foo
  hosts: foo
  vars:
    http_port: 80
    my_user: admin
  remote_user: "{{my_user}}"
Run Code Online (Sandbox Code Playgroud)

然后:

- name: Config git user name
  git_config: name=user.name scope=global value={{ ansible_host }}
  become: Yes
  become_user: "{{my_user}}"
Run Code Online (Sandbox Code Playgroud)