查看有关错误处理的文档 Ansible 错误处理
我只看到一种使配置失败的方法,我想知道是否有任何方法可以做相反的事情。
看起来像这样的东西:
- name: ping pong redis command: redis-cli ping register: command_result success_when: "'PONG' in command_result.stderr"
谢谢。
好像没有这个功能,至少我在邮件列表上的建议仍然没有回复:
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 并且 stderr 中没有“PONG”,则不会失败。
因此,如果列表中的任何一个是 False
断言模块就是你想要的。
1.5版本新功能示例:
- assert: { that: "ansible_os_family != 'RedHat'" }