Compare commits

..

3 Commits

Author SHA1 Message Date
c9c74e93cd solution ignore_errors 2022-11-01 18:22:07 +01:00
de6dbc2b8c cleanup 2021-03-16 21:21:05 +01:00
13288032b3 cleanup 2021-03-16 21:20:53 +01:00
5 changed files with 27 additions and 41 deletions

View File

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

View File

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

View File

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

View File

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

View File

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