有一些Ansible相当于“failed_when”成功

查看关于error handlingAnsibleerror handling的文档

我只看到一个方法来configuration失败fail_when,我想知道是否有任何方法来做相反的事情。

看起来像这样的东西:

- name: ping pong redis command: redis-cli ping register: command_result succees_when: "'PONG' in command_result.stderr" 

谢谢。

我想可能断言模块是你想要的。

1.5版本中的新功能

例子:

 - assert: { that: "ansible_os_family != 'RedHat'" } 

似乎没有这样的功能,至少我在邮件列表上的建议仍然没有得到回应:

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它就会通过