【发布时间】:2015-01-23 22:07:09
【问题描述】:
我试图仅在文件存在时才包含它。如果我的角色用户需要,这允许在现有“任务/角色”之间自定义“任务/角色”。我发现了这个:
- include: ...
when: condition
但 Ansible 文档指出:
“所有任务都得到评估,但条件适用于每个任务” - http://docs.ansible.com/playbooks_conditionals.html#applying-when-to-roles-and-includes
所以
- stat: path=/home/user/optional/file.yml
register: optional_file
- include: /home/user/optional/file.yml
when: optional_file.stat.exists
如果包含的文件不存在,将失败。我想可能有另一种机制允许用户向现有配方添加任务。我不能让用户在我之后添加角色,因为他们无法控制顺序:他们的角色将在我之后执行。
【问题讨论】:
-
我花了一点时间来解决这个问题,看来你是对的,即使
when条件为假,它也肯定会失败。
标签: ansible