Repita a tarefa 10 vezes com intervalo de 1 segundo até que o código de retorno do comando não seja 0. Ignore se mesmo todas as tentativas falharão.
---
- hosts: all
connection: local
tasks:
- shell: exit 1
register: task_result
until: task_result.rc == 0
retries: 10
delay: 1
ignore_errors: yes
Você também pode conferir outras propriedades, como task_result.stderr
, task_result.stdout
, task_result.changed
e combinar a em expressões lógicas.
Para verificar rapidamente a tarefa em um host local, use o seguinte comando: ansible-playbook retry.yml -i localhost,
(a vírgula deve estar presente)