1 Commits

4 changed files with 63 additions and 17 deletions

View File

@@ -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"

16
fail_when.yml Normal file
View File

@@ -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

18
ignore_errors.yml Normal file
View File

@@ -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

23
try_catch.yml Normal file
View File

@@ -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"