mise au point solution
This commit is contained in:
21
Readme.md
21
Readme.md
@@ -1,4 +1,4 @@
|
||||
## Gestion des erreurs
|
||||
# Gestion des erreurs
|
||||
|
||||
**Tâche**: exploiter, comprendre la réussite / échec d'un module
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
* https://docs.ansible.com/ansible/latest/playbooks_error_handling.html
|
||||
* support slide 51
|
||||
|
||||
### Ignorer les erreurs
|
||||
## Ignorer les erreurs
|
||||
|
||||
Écrivez un playbook permettant:
|
||||
|
||||
@@ -20,16 +20,17 @@
|
||||
|
||||
Faites en sorte que les erreurs d'exécution du playbook soient ignorées.
|
||||
|
||||
Voir failed_when.yml
|
||||
Voir le script *ignore_errors.yml*
|
||||
|
||||
#### utiliser le module debug
|
||||
## 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
|
||||
|
||||
## failed_when: définir soi-même les conditions de réussite / échec d'un module
|
||||
|
||||
Écrivez un playbook permettant:
|
||||
|
||||
@@ -39,11 +40,17 @@ ansible cibles -u formation -o -m debug -a "var=ansible_distribution"
|
||||
|
||||
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
|
||||
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
|
||||
|
||||
|
||||
Solutions: voir branche "solution"
|
||||
## 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*
|
||||
@@ -4,14 +4,15 @@
|
||||
tasks:
|
||||
- name: send script
|
||||
copy:
|
||||
src: random.sh
|
||||
dest: /tmp//random.sh
|
||||
src: bad.sh
|
||||
dest: /tmp//bad.sh
|
||||
mode: 0750
|
||||
|
||||
- name: execute script
|
||||
command: /tmp//random.sh
|
||||
command: /tmp//bad.sh
|
||||
register: result
|
||||
failed_when: 2|string in result.stdout
|
||||
ignore_errors: true
|
||||
|
||||
|
||||
- name: display result
|
||||
debug:
|
||||
|
||||
23
try_catch.yml
Normal file
23
try_catch.yml
Normal 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"
|
||||
Reference in New Issue
Block a user