Compare commits
3 Commits
master
...
c9c74e93cd
| Author | SHA1 | Date | |
|---|---|---|---|
| c9c74e93cd | |||
| de6dbc2b8c | |||
| 13288032b3 |
32
Readme.md
32
Readme.md
@@ -1,4 +1,4 @@
|
|||||||
# Gestion des erreurs
|
## Gestion des erreurs
|
||||||
|
|
||||||
**Tâche**: exploiter, comprendre la réussite / échec d'un module
|
**Tâche**: exploiter, comprendre la réussite / échec d'un module
|
||||||
|
|
||||||
@@ -10,27 +10,35 @@
|
|||||||
* https://docs.ansible.com/ansible/latest/playbooks_error_handling.html
|
* https://docs.ansible.com/ansible/latest/playbooks_error_handling.html
|
||||||
* support slide 51
|
* support slide 51
|
||||||
|
|
||||||
## Ignorer les erreurs
|
### Ignorer les erreurs
|
||||||
|
|
||||||
Exécutez le playbook "ignore_errors.yml"
|
É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"
|
||||||
|
|
||||||
Faire en sorte que la 3ème tâche du playbook s'exécuter malgré l'erreur (volontaire) de la tâche n° 2
|
Faites en sorte que les erreurs d'exécution du playbook soient ignorées.
|
||||||
|
|
||||||
## utiliser le module debug
|
#### utiliser le module debug
|
||||||
|
|
||||||
Utilisez le module debug pour afficher la valeur de la variable *ansible_distribution* des cibles.
|
Utilisez le module debug pour afficher la valeur de la variable *ansible_distribution* des cibles.
|
||||||
|
|
||||||
## failed_when: définir soi-même les conditions de réussite / échec d'un module
|
#### failed_when: définir soi-même les conditions de réussite / échec d'un module
|
||||||
|
|
||||||
Adapter le playbook _fail_when.yml_ pour que la tâche d'exécution doit échouer uniquement si le script renvoie la valeur 2.
|
Écrivez un playbook permettant:
|
||||||
|
|
||||||
## register: Exploiter le résultat de l'exécution d'un module
|
- de déployer le script random.sh
|
||||||
|
- de l'exécuter
|
||||||
|
- d'afficher le message "fin d'exécution du playbook"
|
||||||
|
|
||||||
Complétez le playbook _fail_when.yml_ afin qu'il:
|
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:
|
||||||
|
|
||||||
- exécute une tâche de votre choix uniquement si le script a renvoyée la valeur 1
|
- 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
|
|
||||||
|
|
||||||
Étudiez et exécuter le playbook _try_catch.yml_
|
|
||||||
|
|
||||||
|
Solutions: voir branche "solution"
|
||||||
@@ -8,8 +8,9 @@
|
|||||||
mode: 0750
|
mode: 0750
|
||||||
|
|
||||||
- name: execute script
|
- name: execute script
|
||||||
command: /tmp/random.sh
|
command: /tmp//random.sh
|
||||||
register: result
|
register: result
|
||||||
|
failed_when: 2|string in result.stdout
|
||||||
|
|
||||||
- name: display result
|
- name: display result
|
||||||
debug:
|
debug:
|
||||||
|
|||||||
@@ -4,14 +4,14 @@
|
|||||||
tasks:
|
tasks:
|
||||||
- name: send script
|
- name: send script
|
||||||
copy:
|
copy:
|
||||||
src: bad.sh
|
src: random.sh
|
||||||
dest: /tmp//bad.sh
|
dest: /tmp//random.sh
|
||||||
mode: 0750
|
mode: 0750
|
||||||
|
|
||||||
- name: execute script
|
- name: execute script
|
||||||
command: /tmp//bad.sh
|
command: /tmp//random.sh
|
||||||
register: result
|
register: result
|
||||||
|
failed_when: 2|string in result.stdout
|
||||||
|
|
||||||
- name: display result
|
- name: display result
|
||||||
debug:
|
debug:
|
||||||
|
|||||||
@@ -2,4 +2,4 @@
|
|||||||
|
|
||||||
# return a random number between 0 and 2
|
# return a random number between 0 and 2
|
||||||
|
|
||||||
exit $(( $RANDOM % 3 ))
|
echo $(( $RANDOM % 3 ))
|
||||||
@@ -1,23 +0,0 @@
|
|||||||
|
|
||||||
---
|
|
||||||
- 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"
|
|
||||||
Reference in New Issue
Block a user