Ansible清单变量未定义

时间:2017-12-13 12:31:39

标签: ansible ansible-2.x ansible-inventory

我已在库存文件中定义了一个变量,但在播放条件下使用时,我得到的错误变量是未定义的。

inventory.yml:

[nodes]
node1 ....
node1 ....

[cluster:children]
nodes

[cluster:vars]
somevar=False

testvar=value

playbook.yml:

- include: setup_whatever.yml
  when: "testvar == 'value'"

运行它
ansible-playbook playbook.yml -i inventory

这是我收到的错误消息

ERROR! The conditional check 'testvar == 'value'' failed. The error was: ERROR! error while evaluating conditional (testvar == 'value'): ERROR! 'testvar' is undefined

ansible version:2.0.0.2

1 个答案:

答案 0 :(得分:2)

将您的Ansible版本升级为现代版本。

  • Ansible 2.0.0.2(你的)

      

    ERROR!条件检查' testvar =='值''失败。错误是:错误!评估条件时出错(testvar ==' value'):错误! '的testvar'未定义

  • Ansible 2.1.3.0(也过时了!)

      

    播放[节点]
      ************************************************** *****************

         

    任务[调试]
      ************************************************** *****************
      好的:[node1] => {
      " msg":" Hello world!"
      }