Su libro de jugadas se detendrá cuando ocurra una falla y lo esté utilizando de serial: 1
acuerdo con la documentación .
De forma predeterminada, Ansible continuará ejecutando acciones siempre que haya hosts en el grupo que aún no hayan fallado.
Dicho esto, parece haber cierta confusión en la comunidad sobre el comportamiento predeterminado, y parece haber cambiado, o ha tenido errores, en algún lugar entre 1.8 y 2.1.
Entonces, si serial: 1
no es suficiente, use esta configuración adicional:
max_failure_percentage: 0
En algunas situaciones, como con las actualizaciones continuas descritas anteriormente, puede ser deseable abortar la reproducción cuando se alcanza un cierto umbral de fallas. Para lograr esto, a partir de la versión 1.3 puede establecer un porcentaje máximo de falla ...
==
En cuanto a volver a intentar su libro de jugadas, debería ver un mensaje de error como este:
to retry, use: --limit @/home/user/site.retry
Use esa --limit
bandera y en su próxima ejecución de ansible-playbook
y continuará desde donde falló.
Los archivos de reintento se crearán a menos que haya establecido retry_files_enabled = False
su configuración.
Alternativamente, --start-at-task
también puede funcionar.
Fuentes:
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
En 2.5+ (mucho después de la pregunta), está el depurador que cubre la mayor parte de esto: https://docs.ansible.com/ansible/latest/user_guide/playbooks_debugger.html
En cuanto a uno a la vez, el uso de "--forks 1" solo se conecta a un sistema a la vez si desea hacerlo ad-hoc y no siempre.
fuente