讓我們假設我有三個節點,我使用Ansible腳本運行命令。如何在至少一個主機上成功完成Ansible任務
我希望這個任務能夠在所有三個節點上運行,並且如果它至少在一個節點上成功完成,它就會成功。如果任務在至少一個節點上沒有成功,則腳本應該失敗。
使用ignore_errors: true
顯然使腳本完成,即使沒有節點成功完成。
任何想法如何做到這一點?謝謝。
讓我們假設我有三個節點,我使用Ansible腳本運行命令。如何在至少一個主機上成功完成Ansible任務
我希望這個任務能夠在所有三個節點上運行,並且如果它至少在一個節點上成功完成,它就會成功。如果任務在至少一個節點上沒有成功,則腳本應該失敗。
使用ignore_errors: true
顯然使腳本完成,即使沒有節點成功完成。
任何想法如何做到這一點?謝謝。
評論由康斯坦丁·蘇沃洛夫有解決方案
你可以使用Maximum Failure Percentage功能:
- hosts: webservers
max_fail_percentage: 99
在您的特定用途的情況下,除非你有超過100臺主機,99%應該向你保證,至少有一個主機成功。
您可以以同樣的方式實現它:https://stackoverflow.com/a/39301292/2795592 –