【问题标题】:Ansible ansible_password undefined variableAnsible ansible_password 未定义变量
【发布时间】:2020-06-18 01:33:36
【问题描述】:

这快把我逼疯了。我的剧本如下所示:

---                                                                                                                                                                                                         
- hosts: all
  become_user: root
  become_method: sudo
  become: yes
  vars:
     ansible_become_password: "{{ ansible_password }}"

ansible_password 是一个应该由 Ansible Tower / 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 似乎只定义在任务范围内。

有人有这方面的经验吗?解决这个问题的方法是什么?

【问题讨论】:

    标签: ansible ansible-tower


    【解决方案1】:

    如果您不提供 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,请将此变量添加到您的额外变量中:

    应该可以的。

    祝你好运!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-10-13
      • 2022-11-21
      • 2022-11-28
      • 2018-04-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多