如何要求Ansible任务在至少一个主机上成功完成

时间:2017-08-30 08:57:32

标签: ansible

我们说我有三个节点,我使用 Ansible脚本运行命令。

我希望在所有三个节点上运行该任务,并且如果它在至少一个节点上成功完成,则使其成功。如果任务在至少一个节点上未成功,则脚本应该失败。

即使没有节点成功完成,使用ignore_errors: true显然会使脚本完成。

任何想法如何做到这一点?感谢。

2 个答案:

答案 0 :(得分:2)

您可以使用Maximum Failure Percentage功能:

- hosts: webservers
  max_fail_percentage: 99

在您的特定用例中,除非您拥有超过100台主机,否则99%应保证至少有一台主机成功。

答案 1 :(得分:0)

Konstantin Suvorov的评论有解决方案