Votre playbook s'arrêtera en cas d'échec et vous utilisez serial: 1
selon la documentation .
Par défaut, Ansible continuera d'exécuter des actions tant qu'il y a des hôtes dans le groupe qui n'ont pas encore échoué.
Cela dit, il semble y avoir une certaine confusion dans la communauté au sujet du comportement par défaut, et il semble avoir changé - ou été bogué - quelque part entre 1.8 et 2.1.
Donc, si serial: 1
cela ne suffit pas, utilisez ce paramètre supplémentaire:
max_failure_percentage: 0
Dans certaines situations, comme avec les mises à jour continues décrites ci-dessus, il peut être souhaitable d'interrompre la lecture lorsqu'un certain seuil d'échecs a été atteint. Pour ce faire, à partir de la version 1.3, vous pouvez définir un pourcentage d'échec maximum ...
==
En ce qui concerne la nouvelle tentative de votre playbook, vous devriez voir un message d'échec comme celui-ci:
to retry, use: --limit @/home/user/site.retry
Utilisez ce --limit
drapeau et sur votre prochaine exécution de ansible-playbook
et il continuera d'où il a échoué.
Les fichiers de nouvelle tentative seront créés sauf si vous avez défini retry_files_enabled = False
votre configuration.
Alternativement, --start-at-task
peut également fonctionner.
Sources:
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
Dans 2.5+ (bien après la question), il y a le débogueur qui couvre la plupart de cela: https://docs.ansible.com/ansible/latest/user_guide/playbooks_debugger.html
Comme pour un à la fois, l'utilisation de "--forks 1" ne se connecte qu'à un seul système à la fois si vous voulez le faire de manière ponctuelle et pas à chaque fois.
la source