Su libro de jugadas se detendrá cuando ocurra una falla y lo esté utilizando de serial: 1acuerdo 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: 1no 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 --limitbandera y en su próxima ejecución de ansible-playbooky continuará desde donde falló.
Los archivos de reintento se crearán a menos que haya establecido retry_files_enabled = Falsesu configuración.
Alternativamente, --start-at-tasktambié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