18
0
Fork 0

Ajout d'une section Jinja

This commit is contained in:
Jérémy Lecour 2017-11-16 00:22:28 +01:00
parent 278fe80e26
commit a0194be83a
1 changed files with 25 additions and 2 deletions

View File

@ -410,7 +410,7 @@ Options utiles pour [ansible-playbook](https://manpages.debian.org/cgi-bin/man.c
* `-f` / `--forks N` : nombre de process lancés en parallèle (par défaut 5)… peut être utile de mettre à 1 pour ne pas paralléliser * `-f` / `--forks N` : nombre de process lancés en parallèle (par défaut 5)… peut être utile de mettre à 1 pour ne pas paralléliser
* `-i` / `--inventory FILENAME/DIRNAME` : utiliser le fichier ou le dossier d'inventaire fournit en paramètre * `-i` / `--inventory FILENAME/DIRNAME` : utiliser le fichier ou le dossier d'inventaire fournit en paramètre
* `-i` / `--inventory "example.com,"` : utilise un inventaire dynamique définie en paramètre (doit être un tableau) * `-i` / `--inventory "example.com,"` : utilise un inventaire dynamique définie en paramètre (doit être un tableau)
* `-D` / `--diff` : montre un diff des changements effectués par les templates * `-D` / `--diff` : montre un diff des changements effectués par les templates
#### Limiter l'exécution à certaines machines #### Limiter l'exécution à certaines machines
@ -720,9 +720,32 @@ Quelques options qui peuvent être utiles :
* `private_key_file` : le chemin pour la clé pem * `private_key_file` : le chemin pour la clé pem
* `remote_port` : le port SSH par défaut (`22`) * `remote_port` : le port SSH par défaut (`22`)
* `remote_user` : l'utilisateur pour la connexion SSH par défaut (`root`) * `remote_user` : l'utilisateur pour la connexion SSH par défaut (`root`)
* `retry_files_enabled` : mettre à `True` pour la création de fichier `.retry` après une failure de ansible pour reprendre le travail précédent - ajouté en argument dans l'appel de la commande * `retry_files_enabled` : mettre à `True` pour la création de fichier `.retry` après un échec d'Ansible, pour reprendre le travail précédent - ajouté en argument dans l'appel de la commande
## Jinja
Ansible utilise la bibliothèque [Jinja2](http://jinja.pocoo.org/docs/2.10/templates/) pour ses templates, ses filtres, ses conditions…
* fusionner et dédoublonner 2 listes :
~~~
a: [1, 2, 3]
b: [3, 4, 5]
c: a | union(b) | unique
~~~
Il existe plein de [filtres sur les listes](http://docs.ansible.com/ansible/latest/playbooks_filters.html#list-filters) ; `union`, `intersect`, `difference`, `unique`, `sort`
* liste avec valeur par défaut (variable vide, indéfinie ou liste vide)
~~~
a: []
c: a | default([1, 2], true)
~~~
C'est le second paramètre (`true`) qui permet à `default()` d'agir lorsque la variable `a` n'est pas seulement nulle ou indéfinie, mais aussi en cas de chaîne vide, tableau vide…
## Erreurs ## Erreurs
Les messages d'erreurs ne sont pas le point fort d'Ansible. Il n'est pas toujours clair de savoir si c'est un soucis de syntaxe YAML, un problème de sémantique d'Ansible ou une erreur dans l'utilisation de Jinja2. De plus, Ansible tente de faire des recommandations, mais elles sont des fois plus déroutantes qu'éclairantes. En voici quelques unes que nous avons rencontrées. Les messages d'erreurs ne sont pas le point fort d'Ansible. Il n'est pas toujours clair de savoir si c'est un soucis de syntaxe YAML, un problème de sémantique d'Ansible ou une erreur dans l'utilisation de Jinja2. De plus, Ansible tente de faire des recommandations, mais elles sont des fois plus déroutantes qu'éclairantes. En voici quelques unes que nous avons rencontrées.