diff --git a/content/slides/cri/md/ansible.md b/content/slides/cri/md/ansible.md index e551af2ea92628fb659231f5c27039ba4e2313d9..392a3c4e2bca41ae074d2c4b311feefd0ca4326b 100644 --- a/content/slides/cri/md/ansible.md +++ b/content/slides/cri/md/ansible.md @@ -63,12 +63,12 @@ * fichier contenant les ip ou les noms de domaine de toutes les machines à configurer * **playbook** * gère la configuration à déployer sur chaque machine -* **task** - * fichier où sont définies les actions réalisées par le playbook ## terminologie +* **task** + * fichier où sont définies les actions réalisées par le playbook * **module** * actions plus ou moins complexes, utilisables à partir des **tasks** * ansible possède de nombreux [<i class="fa fa-book" aria-hidden="true"></i> modules natifs](https://docs.ansible.com/ansible/latest/modules/modules_by_category.html) @@ -96,6 +96,10 @@ * pour tous / par groupe / par machine * déclarer des variables * pour tous / par groupe / par machine + + +## inventory + * [<i class="fa fa-book" aria-hidden="true"></i> inventory](https://docs.ansible.com/ansible/latest/user_guide/intro_inventory.html) ```ini @@ -145,6 +149,10 @@ gitlab-runner1.criprod.isima.fr | SUCCESS => { "ping": "pong" } ``` + + +## ad-hoc command + ``` $ ansible criprod -a "/usr/bin/uptime" @@ -205,6 +213,9 @@ $ ansible-playbook my-playbook.yml exécute le playbook sur toutes les machines de l'inventaire + +## playbook + ```shell $ ansible-playbook my-playbook.yml --check --diff ``` @@ -217,6 +228,9 @@ simule les tâches à effectuer sans les effectuer (dry-run) indique ce qui change + +## playbook + ```shell $ ansible-playbook my-playbook.yml -vvv ``` @@ -246,6 +260,9 @@ $ ansible-playbook my-playbook.yml --skip-tags debug exécute toutes les tâches du playbook sauf celles ayant un tag `debug` + +## playbook + ```shell $ ansible-playbook my-playbook.yml --limit=py.isima.fr ``` @@ -259,6 +276,9 @@ exécute toutes les tâches du playbook sur py.isima.fr uniquement * pas de `-` pas de `.` * pas de numérique pure + +## variables + * affectation * [<i class="fa fa-book" aria-hidden="true"></i> inventaire](https://docs.ansible.com/ansible/latest/user_guide/playbooks_variables.html#defining-variables-in-inventory) * [<i class="fa fa-book" aria-hidden="true"></i> `group_vars`, `host_vars`, ou `inventaire.ini`](https://docs.ansible.com/ansible/latest/user_guide/intro_inventory.html#hosts-and-groups) @@ -360,6 +380,9 @@ permettent de lire les variables à partir de l'entrée standard. * [<i class="fa fa-book" aria-hidden="true"></i> shell](https://docs.ansible.com/ansible/latest/modules/shell_module.html) * comme **command** mais au travers d'un shell + +## task + ```yaml - shell: somescript.sh >> somelog.txt args: @@ -367,9 +390,6 @@ permettent de lire les variables à partir de l'entrée standard. creates: somelog.txt ``` - -## task - [<i class="fa fa-book" aria-hidden="true"></i> register](https://docs.ansible.com/ansible/latest/user_guide/playbooks_variables.html#registering-variables) ```yaml @@ -379,6 +399,9 @@ ignore_errors: True ``` [<i class="fa fa-gitlab" aria-hidden="true"></i> register dans une liste](https://gitlab.isima.fr/cri/ansible-playbook-vault/blob/master/tasks/initialize.yml#L17) + +## task + [<i class="fa fa-book" aria-hidden="true"></i> loop](https://docs.ansible.com/ansible/latest/user_guide/playbooks_loops.html) ```yaml @@ -408,6 +431,9 @@ ignore_errors: True when: ansible_facts['os_family'] == "RedHat" and ansible_facts['lsb']['major_release']|int >= 6 ``` + +## task + [<i class="fa fa-book" aria-hidden="true"></i> set_fact](https://docs.ansible.com/ansible/latest/modules/set_fact_module.html) pre_task