Ihr Playbook stoppt, wenn ein Fehler auftritt und Sie serial: 1
gemäß der Dokumentation verwenden .
Standardmäßig führt Ansible weiterhin Aktionen aus, solange Hosts in der Gruppe noch nicht ausgefallen sind.
Das heißt, es scheint in der Community einige Verwirrung über das Standardverhalten zu geben, und es scheint sich irgendwo zwischen 1.8 und 2.1 geändert zu haben - oder fehlerhaft gewesen zu sein.
Wenn serial: 1
dies nicht ausreicht, verwenden Sie diese zusätzliche Einstellung:
max_failure_percentage: 0
In einigen Situationen, wie bei den oben beschriebenen fortlaufenden Aktualisierungen, kann es wünschenswert sein, das Spiel abzubrechen, wenn eine bestimmte Schwelle von Fehlern erreicht wurde. Um dies zu erreichen, können Sie ab Version 1.3 einen maximalen Ausfallprozentsatz festlegen ...
==
Wenn Sie Ihr Playbook erneut versuchen, sollte eine Fehlermeldung wie die folgende angezeigt werden:
to retry, use: --limit @/home/user/site.retry
Verwenden Sie dieses --limit
Flag bei Ihrer nächsten Ausführung von ansible-playbook
und es wird dort fortgesetzt, wo es fehlgeschlagen ist.
Wiederholungsdateien werden erstellt, sofern Sie dies nicht retry_files_enabled = False
in Ihrer Konfiguration festgelegt haben.
Alternativ --start-at-task
kann auch funktionieren.
Quellen:
https://github.com/ansible/ansible/issues/1663
https://github.com/ansible/ansible/issues/16241
http://docs.ansible.com/ansible/playbooks_delegation.html#rolling-update-batch-size
http://docs.ansible.com/ansible/playbooks_delegation.html#maximum-failure-percentage
http://docs.ansible.com/ansible/intro_configuration.html#retry-files-enabled
http://docs.ansible.com/ansible/playbooks_startnstep.html#start-at-task