查看有关错误处理的文档Ansible error handling
我只看到一种方法来使配置失败fail_when,我想知道是否有办法做对话。
看起来像这样的东西:
- name: ping pong redis command: redis-cli ping register: command_result success_when: "'PONG' in command_result.stderr"
感谢。
答案 0 :(得分:14)
似乎没有这样的功能,至少我在邮件列表上的建议仍未得到回应:
https://groups.google.com/forum/#!topic/ansible-project/cIaQTmY3ZLE
可能有用的是知道failed_when
的行为与其语义不同:
- name: ping pong redis
command: redis-cli ping
register: command_result
failed_when:
- "'PONG' not in command_result.stderr"
- "command_result.rc != 0"
如果返回代码为0并且没有' PONG' 将不失败在stderr。
因此,如果任何列表为False
答案 1 :(得分:6)
我想也许assert module就是你想要的。
1.5版中的新功能
示例:
- assert: { that: "ansible_os_family != 'RedHat'" }