# Gestion des erreurs **Tâche**: exploiter, comprendre la réussite / échec d'un module **Condition**: très souvent ;) **Norme**: module debug, clause failed_when, register ... **Ressources** * https://docs.ansible.com/ansible/latest/playbooks_error_handling.html * support slide 51 ## Ignorer les erreurs Écrivez un playbook permettant: - de déployer le script bad.sh - de l'exécuter - d'afficher le message "fin d'exécution du playbook" Faites en sorte que les erreurs d'exécution du playbook soient ignorées. Voir le script *ignore_errors.yml* ## utiliser le module debug Utilisez le module debug pour afficher la valeur de la variable *ansible_distribution* des cibles. ```bash ansible cibles -u formation -o -m debug -a "var=ansible_distribution" ``` ## failed_when: définir soi-même les conditions de réussite / échec d'un module Écrivez un playbook permettant: - de déployer le script random.sh - de l'exécuter - d'afficher le message "fin d'exécution du playbook" la tâche d'exécution doit échouer uniquement si le script renvoie la valeur 2. Voir le script *failed_when.yml* ## register: Exploiter le résultat de l'exécution d'un module Complétez le playbook précédemment mis au point afin qu'il: - exécute une tâche de votre choix uniquement si le script a renvoyée la valeur 1 ## gestion des exceptions: exécuter une tâche si une tâche échoue reprendre l'atelier "Ignorer les erreurs" précédent. Faire en sorte que le message "fin d'exécution du playbook" s'affiche même en cas d'erreur, mais sans ignore_errors Voir le script *try_catch.yml*