我正在使用Ansible 2.1.0.0
我尝试在任务中使用带有变量的become_user,但是我收到以下消息:
fatal: [host]: FAILED! => {"failed": true, "msg": "'ansible_user' is undefined"}
执行此任务的任务是
- name: Config git user name
git_config: name=user.name scope=global value={{ ansible_host }}
become: Yes
become_user: "{{ansible_user}}"
并且playbook具有以下行来定义远程用户:
- name: Foo
hosts: foo
vars:
http_port: 80
remote_user: admin
我见过this response这似乎是同样的问题,但这对我不起作用 .
我也看过a set_fact解决方案,但我想尽可能使用remote_user var,因此如果playbook已经设置了remote_user var,则不必添加额外的行 .
有谁知道如何做到这一点或我做错了什么?
2 回答
那个怎么样:
然后:
我想我找到了:
实际上
remote_user: admin
是定义变量ansible_ssh_user的另一种方式,我不知道为什么remote_user不能作为变量访问,但我所知道的是,当你设置remote_user时,它会改变变量ansible_ssh_user
不确定它是否是一个干净的解决方案,但它的工作原理