Seu manual será interrompido quando ocorrer uma falha e você será usado de serial: 1
acordo com a documentação .
Por padrão, o Ansible continuará executando ações enquanto houver hosts no grupo que ainda não falharam.
Dito isto, parece haver alguma confusão na comunidade sobre o comportamento padrão, e parece ter mudado - ou tem sido um bug - em algum lugar entre 1,8 e 2,1.
Portanto, se serial: 1
não for suficiente, use esta configuração adicional:
max_failure_percentage: 0
Em algumas situações, como nas atualizações contínuas descritas acima, pode ser desejável interromper a reprodução quando um certo limite de falhas for atingido. Para conseguir isso, a partir da versão 1.3, você pode definir uma porcentagem máxima de falhas ...
==
Quanto à nova tentativa do seu manual, você deve receber uma mensagem de falha como esta:
to retry, use: --limit @/home/user/site.retry
Use esse --limit
sinalizador e na sua próxima execução de ansible-playbook
e ele continuará de onde falhou.
Os arquivos de nova tentativa serão criados, a menos que você tenha definido retry_files_enabled = False
sua configuração.
Como alternativa, --start-at-task
também pode funcionar.
Fontes:
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
No 2.5+ (bem após a pergunta), existe o depurador que cobre a maior parte disso: https://docs.ansible.com/ansible/latest/user_guide/playbooks_debugger.html
Quanto a um de cada vez, o uso de "--forks 1" se conecta apenas a um sistema de cada vez, se você desejar fazê-lo ad-hoc e nem sempre.
fonte