Skip to content

Commit

Permalink
Merge pull request #133 from rix-fr/blog/ansible_playbook_update
Browse files Browse the repository at this point in the history
Update playbook blogpost
  • Loading branch information
gfaivre authored Jan 29, 2024
2 parents 71a9dae + 21b090b commit 4938286
Showing 1 changed file with 21 additions and 3 deletions.
24 changes: 21 additions & 3 deletions content/blog/cours/ansible/ansible-les-playbooks.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
type: "post"
title: "Ansible - Les playbooks"
date: "2023-12-05"
lastModified: "2024-01-22"
lastModified: "2024-01-29"
tableOfContent: true
description: "Découverte des playbooks, élément essentiel d'Ansible qui va nous permettre d'organiser et structurer nos tâches !"
thumbnail: "content/images/blog/thumbnails/ansible-playbooks.jpg"
Expand Down Expand Up @@ -332,8 +332,6 @@ Nous nous orienterons pour l'exemple, sur cette seconde option, nous créerons d
ansible.builtin.apt:
name: mariadb-server
state: present
notify:
- restart_mariadb
```

Notre nouveau playbook est bien evidemment « jouable » à l'aide de la commande `ansible-playbook dbservers.yml -i inventories`.
Expand Down Expand Up @@ -552,6 +550,26 @@ Nous créerons enfin pour terminer un dernier playbook `main.yml` contenant:

Nous pouvons à présent jouer l'ensemble avec la commande: `ansible-playbook main.yml -i inventories` !

Tout semble fonctionner ! Mais est-ce vraiment le cas ?
Modifiez à nouveau le fichier de configuration `status.conf` destiné à Nginx et relancer le provisionning.

Vous devriez vous retrouver avec l'erreur `ERROR! The requested handler 'restart_nginx' was not found in either the main handlers list nor in the listening handlers list` !

En effet nous avons utilisé une directive de type `include` pour inclure notre fichier de handlers, or nous avons vu que ces instructions ne sont pas « pré-traitées ». Ansible lorsqu'il parcours notre playbook rencontre donc l'instruction:

```yaml
notify:
- restart_nginx
```

AVANT que notre fichier `handlers.yml` et donc qu'Ansible ait connaissance de l'existance de ce handler !

Pour corriger ce comportement il faudra donc dans notre cas utiliser la directive:

```yaml
handlers:
- ansible.builtin.inport_tasks: handlers.yml
```

### Taguer ses tâches

Expand Down

0 comments on commit 4938286

Please sign in to comment.