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

如何要求Ansible任务在至少一台主机上成功完成,ansible,Ansible,假设我有三个节点,我使用Ansible脚本运行命令 我希望任务在所有三个节点上运行,如果任务在至少一个节点上成功完成,则任务将成功。如果任务在至少一个节点上未成功,则脚本应失败 使用ignore\u errors:true显然会使脚本完成,即使没有节点成功完成 有什么办法吗?谢谢。您可以使用以下功能: - hosts: webservers max_fail_percentage: 99 在您的特定使用案例中,除非您有100多台主机,否则99%应保证至少有一台主机成功运行。您可以使用以下功

假设我有三个节点,我使用Ansible脚本运行命令

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

使用
ignore\u errors:true
显然会使脚本完成,即使没有节点成功完成

有什么办法吗?谢谢。

您可以使用以下功能:

- hosts: webservers
  max_fail_percentage: 99
在您的特定使用案例中,除非您有100多台主机,否则99%应保证至少有一台主机成功运行。

您可以使用以下功能:

- hosts: webservers
  max_fail_percentage: 99

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

Konstantin Suvorov的评论有解决方案

Konstantin Suvorov的评论有解决方案

您可以以相同的方式实现它:您可以以相同的方式实现它: