Ansible Ignorer les erreurs dans les tâches et échouer à la fin du playbook si des tâches comportaient des erreurs
Je suis en train d'apprendre Ansible. J'ai un playbook de nettoyer les ressources, et je veux le playbook à ignorer toutes les erreurs et de continuer à le faire jusqu'à la fin , et ne parviennent pas à la fin si il y avait des erreurs.
Je peut ignorer les erreurs avec
ignore_errors: yes
Si c'était une tâche, je pourrais faire quelque chose comme ( à partir de ansible erreur attraper)
- name: this command prints FAILED when it fails
command: /usr/bin/example-command -x -y -z
register: command_result
ignore_errors: True
- name: fail the play if the previous command did not succeed
fail: msg="the command failed"
when: "'FAILED' in command_result.stderr"
Comment puis-je ne pas à la fin ? J'ai plusieurs tâches, ce serait mon "Lorsque l'état"?
source d'informationauteur Illusionist
Vous devez vous connecter pour publier un commentaire.
Utilisation L'échec module.
Mise à jour:
Utilise le registre pour stocker le résultat d'une tâche comme vous l'avez montré dans votre exemple. Ensuite, utilisez une tâche comme ceci:
Vous pouvez envelopper toutes les tâches qui peut échouer dans le bloc, et l'utilisation
ignore_errors: yes
avec ce bloc.Lire plus sur erreur hadnling dans les blocs.
Échouer module fonctionne très bien! Merci.
Je devais définir ma fait avant de vérifier, sinon, j'aurais une variable non définie erreur.
Et j'ai eu des problèmes lors du réglage de l'effet avec des citations et sans espaces.
Cela a fonctionné:
Ce jeté des erreurs: