我都快疯了。我的攻略如下:
---
- hosts: all
become_user: root
become_method: sudo
become: yes
vars:
ansible_become_password: "{{ ansible_password }}"ansible_password是一个变量,应该由Ansible to / AWX填充。但我得到以下错误消息:
fatal: [RHEL8]: FAILED! => {"msg": "The field 'become_pass' has an invalid
value, which includes an undefined variable. The error was: 'ansible_password' is undefined"}它告诉我ansible_password是未定义的。但是,如果我在那里硬编码密码,并在剧本执行结束时记录ansible_password,我会看到ansible_password定义得很好。因此,ansible_password似乎只在任务范围内定义。
有人有这方面的经验吗?解决这个问题的方法是什么?
发布于 2020-07-06 23:38:21
如果不提供ansible_password变量,则会出现此错误,
如果您使用ansible-playbook命令运行ansible,请将ansible_password作为参数传递给您的命令:
ansible-playbook test.yml -i host.ini -e "ansible_password=YourPassword"或者将其添加到您的host.ini文件中,如下所示:
[all]
0.0.0.0
[all:vars]
ansible_password=YourPassword或者,如果您使用AWX,请将此变量添加到额外的变量中:

这应该行得通。
祝好运!
https://stackoverflow.com/questions/62440940
复制相似问题