参数化ansible任务包括-';参数未定义';
我在使用参数化ansible include时遇到问题 我创建了以下文件,名为tasks/haproxy.xml 我将此文件包括在playbook.yml中,传递状态参数的值参数化ansible任务包括-';参数未定义';,ansible,ansible-playbook,Ansible,Ansible Playbook,我在使用参数化ansible include时遇到问题 我创建了以下文件,名为tasks/haproxy.xml 我将此文件包括在playbook.yml中,传递状态参数的值 - include: tasks/haproxy.yml state=enabled 我得到以下错误 TASK [include] ***************************************************************** included: /home/bb/tasks/ha
- include: tasks/haproxy.yml state=enabled
我得到以下错误
TASK [include] *****************************************************************
included: /home/bb/tasks/haproxy.yml for 172.16.224.68, 172.16.224.69
ERROR! 'state' is undefined
state是我的参数,在执行include时传递(如中所述)
怎么了
我使用的是Ansible 2.0.2.0
编辑:
使用替代语法传递参数
- include: tasks/haproxy.yml
vars:
state: enabled
给出完全相同的错误消息。在使用替代语法(
vars
)时,通过删除单个前导空格(!!)解决
所以正确的参数化包含是必要的
- include: tasks/haproxy.yml
vars:
state: enabled
vars
关键字必须与include
关键字处于同一级别。
否则它将不工作,并显示消息ERROR!'“状态”未定义
缩短的语法(
-include:tasks/haproxy.yml state=enabled
)仍然不起作用。使用链接文档中描述的可选(vars
)语法是否会得到相同的结果?vars语法会给出相同的错误消息。引用“enabled”如何?我正在尝试执行“playbook include”而不是“task include”这似乎不支持变量的传递?
- include: tasks/haproxy.yml
vars:
state: enabled