From 3008f508f0fb0a4fe23f47ba54ebc86b54e98aef Mon Sep 17 00:00:00 2001 From: Thomas Constans Date: Thu, 23 Feb 2023 07:39:05 +0100 Subject: [PATCH] instructions premande --- Readme.md | 23 ++++++----------------- fail_when.yml | 16 ++++++++++++++++ ignore_errors.yml | 18 ++++++++++++++++++ try_catch.yml | 23 +++++++++++++++++++++++ 4 files changed, 63 insertions(+), 17 deletions(-) create mode 100644 fail_when.yml create mode 100644 ignore_errors.yml create mode 100644 try_catch.yml diff --git a/Readme.md b/Readme.md index e52d469..2007b5f 100644 --- a/Readme.md +++ b/Readme.md @@ -12,13 +12,9 @@ ## 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" +Exécutez le playbook "ignore_errors.yml" -Faites en sorte que les erreurs d'exécution du playbook soient ignorées. +Faire en sorte que la 3ème tâche du playbook s'exécuter malgré l'erreur (volontaire) de la tâche n° 2 ## utiliser le module debug @@ -26,22 +22,15 @@ Utilisez le module debug pour afficher la valeur de la variable *ansible_distrib ## 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. +Adapter le playbook _fail_when.yml_ pour que la tâche d'exécution doit échouer uniquement si le script renvoie la valeur 2. ## 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: - +Complétez le playbook _fail_when.yml_ 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_ +Étudiez et exécuter le playbook _try_catch.yml_ -Solutions: voir branche "solution" \ No newline at end of file diff --git a/fail_when.yml b/fail_when.yml new file mode 100644 index 0000000..9f51151 --- /dev/null +++ b/fail_when.yml @@ -0,0 +1,16 @@ +--- +- hosts: cibles + tasks: + - name: send script + copy: + src: random.sh + dest: /tmp//random.sh + mode: 0750 + + - name: execute script + command: /tmp/random.sh + register: result + + - name: display result + debug: + var: result \ No newline at end of file diff --git a/ignore_errors.yml b/ignore_errors.yml new file mode 100644 index 0000000..a23571c --- /dev/null +++ b/ignore_errors.yml @@ -0,0 +1,18 @@ + +--- +- hosts: cibles + tasks: + - name: send script + copy: + src: bad.sh + dest: /tmp//bad.sh + mode: 0750 + + - name: execute script + command: /tmp//bad.sh + register: result + + + - name: display result + debug: + var: result \ No newline at end of file diff --git a/try_catch.yml b/try_catch.yml new file mode 100644 index 0000000..960a559 --- /dev/null +++ b/try_catch.yml @@ -0,0 +1,23 @@ + +--- +- hosts: cibles + tasks: + - name: send and execute script + block: + - name: send script + copy: + src: bad.sh + dest: /tmp//bad.sh + mode: 0750 + + - name: execute script + command: /tmp//bad.sh + register: result + always: + - name: display result whatever happened previously + debug: + var: result + rescue: + - name: display only if one of task in block failed + debug: + msg: "Something bad happened" \ No newline at end of file