我只在一臺主機上執行遊戲手冊。Ansible:從失敗的任務中重新運行劇本
我目前的任務執行流程是:
1)執行任務
2)如果任何任務的失敗之間,清理一切
3)從開始重新運行。
這聽起來不太有效。我想創建流程非常喜歡這一點,
1)執行任務
2)任務失敗..
3)如果我們重新運行遊戲書,ansible應該從失敗的任務執行任務。它不應該從一開始就重新運行。
爲了做到這一點,我試圖達到一旦任務失敗,我試圖用「 - 限制」執行遊戲手冊,它會引發以下錯誤。
[email protected]:/etc/ansible# ansible-playbook stack.yml --limit -vvvv
ERROR: provided hosts list is empty
[email protected]:/etc/ansible# cat /root/stack.retry
10.17.10.150
我不確定這是重新運行遊戲手冊以實現此工作流程的正確方法。
你真的應該讓你的劇本冪等。如果它們是冪等的,那麼從一開始就重新運行的唯一問題就是時間。 – smiller171
我正在嘗試構建冪等劇本,大多數我在劇本中使用'shell'和'command'模塊的地方,所以使它成爲冪等的,我正在接受「創建」參數的幫助。 您提到的問題仍然是.. ..我正面臨的另一個問題是.. 一旦任務執行,如果任務失敗,輸出任務將記錄在文件中,並在下一次運行palybook,ansible是跳過成功執行的任務和失敗的任務。 – tgcloud