changement des liens ansible 2.7 vers 2.10

This commit is contained in:
isaid 2022-02-09 17:26:37 +01:00
parent 7ae36aad95
commit 883cf7ece5

View file

@ -87,7 +87,7 @@ Enfin, pour s'exécuter sur un ensemble de machines, Ansible a besoin d'un [inve
### modules
<https://docs.ansible.com/ansible/2.7/modules/list_of_all_modules.html>
<https://docs.ansible.com/ansible/2.10/collections/index_module.html>
Un module est comme une bibliothèque. Il constitue une couche d'abstraction par rapport au shell et commandes sous-jacentes. C'est cette couche qui permet l'idempotence et le fonctionnement sur plusieurs plateformes.
@ -97,7 +97,7 @@ Pour avoir la liste des modules utilisables : `ansible-doc -l`
Voici quelques exemples de modules que nous utilisons :
* Module [command](https://docs.ansible.com/ansible/2.7/modules/command_module.html) :
* Module [command](https://docs.ansible.com/ansible/2.10/modules/command_module.html) :
~~~{.yaml}
- command: date
@ -105,7 +105,7 @@ Voici quelques exemples de modules que nous utilisons :
Ce module ne permet que l'exécution de commandes simple (pas de pipe…) mais en échange il vérifie les commandes et les assainit pour limiter les injections.
* Module [shell](https://docs.ansible.com/ansible/2.7/modules/shell_module.html) :
* Module [shell](https://docs.ansible.com/ansible/2.10/modules/shell_module.html) :
~~~{.yaml}
- shell: cat foo.txt | grep bar
@ -113,7 +113,7 @@ Ce module ne permet que l'exécution de commandes simple (pas de pipe…) mais e
Ce module permet en revanche d'exécuter arbitrairement et sans contrôle toute commande, au sein d'un shell lancé pour l'occasion.
* Module [file](https://docs.ansible.com/ansible/2.7/modules/file_module.html) :
* Module [file](https://docs.ansible.com/ansible/2.10/modules/file_module.html) :
~~~{.yaml}
- file:
@ -121,7 +121,7 @@ Ce module permet en revanche d'exécuter arbitrairement et sans contrôle toute
state: absent
~~~
* Module [copy](https://docs.ansible.com/ansible/2.7/modules/copy_module.html) :
* Module [copy](https://docs.ansible.com/ansible/2.10/modules/copy_module.html) :
~~~{.yaml}
- copy
@ -132,7 +132,7 @@ Ce module permet en revanche d'exécuter arbitrairement et sans contrôle toute
mode: "0644"
~~~
* Module [replace](https://docs.ansible.com/ansible/2.7/modules/replace_module.html) :
* Module [replace](https://docs.ansible.com/ansible/2.10/modules/replace_module.html) :
~~~{.yaml}
- replace:
@ -141,7 +141,7 @@ Ce module permet en revanche d'exécuter arbitrairement et sans contrôle toute
replace: '\1,{{ name }}'
~~~
* Module [lineinfile](https://docs.ansible.com/ansible/2.7/modules/lineinfile_module.html) :
* Module [lineinfile](https://docs.ansible.com/ansible/2.10/modules/lineinfile_module.html) :
~~~{.yaml}
- lineinfile:
@ -160,7 +160,7 @@ Ce module permet en revanche d'exécuter arbitrairement et sans contrôle toute
* avec _lineinfile_, si l'on veut utiliser une référence (`\1`) dans _line_, ça donne une erreur, il faut utiliser _replace_
* avec _lineinfile_, l'argument `backrefs: yes` sert à utiliser une référence au sein de l'argument _regexp_ (et non pas au sein de l'argument _line_).
* Module [blockinfile](https://docs.ansible.com/ansible/2.7/modules/blockinfile_module.html) :
* Module [blockinfile](https://docs.ansible.com/ansible/2.10/modules/blockinfile_module.html) :
~~~{.yaml}
- blockinfile:
@ -170,7 +170,7 @@ Ce module permet en revanche d'exécuter arbitrairement et sans contrôle toute
## Set rights on files and directories written by Apache
~~~
* Module [ini_file](https://docs.ansible.com/ansible/2.7/modules/ini_file_module.html) :
* Module [ini_file](https://docs.ansible.com/ansible/2.10/modules/ini_file_module.html) :
~~~{.yaml}
- ini_file:
@ -183,7 +183,7 @@ Ce module permet en revanche d'exécuter arbitrairement et sans contrôle toute
Ce module permet de facilement d'ajouter/modifier/supprimer des valeurs dans des fichiers INI, dans la bonne section, sans se soucier de la syntaxe.
* Module [user](https://docs.ansible.com/ansible/2.7/modules/user_module.html) :
* Module [user](https://docs.ansible.com/ansible/2.10/modules/user_module.html) :
~~~{.yaml}
- user:
@ -196,7 +196,7 @@ Ce module permet de facilement d'ajouter/modifier/supprimer des valeurs dans des
password: '$6$k/Fg76xH'
~~~
* Module [group](https://docs.ansible.com/ansible/2.7/modules/group_module.html) :
* Module [group](https://docs.ansible.com/ansible/2.10/modules/group_module.html) :
~~~{.yaml}
- group:
@ -205,7 +205,7 @@ Ce module permet de facilement d'ajouter/modifier/supprimer des valeurs dans des
gid: "1042"
~~~
* Module [stat](https://docs.ansible.com/ansible/2.7/modules/stat_module.html) :
* Module [stat](https://docs.ansible.com/ansible/2.10/modules/stat_module.html) :
~~~{.yaml}
- stat:
@ -213,7 +213,7 @@ Ce module permet de facilement d'ajouter/modifier/supprimer des valeurs dans des
register: foo_sudoers_file
~~~
* Module [apt](https://docs.ansible.com/ansible/2.7/modules/apt_module.html) :
* Module [apt](https://docs.ansible.com/ansible/2.10/modules/apt_module.html) :
~~~{.yaml}
- apt:
@ -228,7 +228,7 @@ Ce module permet de facilement d'ajouter/modifier/supprimer des valeurs dans des
Ce module fait partie d'une courte liste de modules pour lesquels l'utilisation d'une boucle (avec `with_items` par exemple) ne provoque pas l'exécution séquentielle et répétée du module. Dans l'exemple ci-dessus le module utilisera "apt" intelligemment.
* Module [apt_repository](https://docs.ansible.com/ansible/2.7/modules/apt_repository_module.html) :
* Module [apt_repository](https://docs.ansible.com/ansible/2.10/modules/apt_repository_module.html) :
~~~{.yaml}
- name: exemple
@ -240,7 +240,7 @@ Ce module fait partie d'une courte liste de modules pour lesquels l'utilisation
L'indication "filename" permet de référencer le dépôt dans `/etc/apt/sources.list.d/<filename>.list`.
* Module [mysql_user](https://docs.ansible.com/ansible/2.7/modules/mysql_user_module.html) :
* Module [mysql_user](https://docs.ansible.com/ansible/2.10/modules/mysql_user_module.html) :
~~~{.yaml}
- mysql_user:
@ -254,7 +254,7 @@ L'indication "filename" permet de référencer le dépôt dans `/etc/apt/sources
Lorsqu'une réplication est en place, on peut choisir de ne pas propager l'action dans les binlogs, avec l'option `sql_log_bin: no`.
* module [mysql_variables](https://docs.ansible.com/ansible/2.7/modules/latest/mysql_variables_module.html)
* module [mysql_variables](https://docs.ansible.com/ansible/2.10/modules/mysql_variables_module.html)
~~~{.yaml}
- mysql_variables:
@ -264,7 +264,7 @@ Lorsqu'une réplication est en place, on peut choisir de ne pas propager l'actio
Cela permet d'exécuter une commande du type "SET GLOBAL read_only = 1;" de manière idempotente.
* module [htpasswd](https://docs.ansible.com/ansible/2.7/modules/latest/htpasswd_module.html)
* module [htpasswd](https://docs.ansible.com/ansible/2.10/modules/htpasswd_module.html)
~~~{.yaml}
- htpasswd:
@ -278,7 +278,7 @@ Cela permet d'exécuter une commande du type "SET GLOBAL read_only = 1;" de mani
Il nécessite la bibliothèque Python "passlib", installable sous Debian grace au paquet "python-passlib".
* Module [sysctl](https://docs.ansible.com/ansible/2.7/modules/sysctl_module.html) :
* Module [sysctl](https://docs.ansible.com/ansible/2.10/modules/sysctl_module.html) :
~~~{.yaml}
- name: exemple
@ -288,7 +288,7 @@ Il nécessite la bibliothèque Python "passlib", installable sous Debian grace a
sysctl_file: /etc/sysctl.d/elasticsearch.conf
~~~
* Module [alternatives](https://docs.ansible.com/ansible/2.7/modules/alternatives_module.html) :
* Module [alternatives](https://docs.ansible.com/ansible/2.10/modules/alternatives_module.html) :
~~~{.yaml}
- alternatives:
@ -296,7 +296,7 @@ Il nécessite la bibliothèque Python "passlib", installable sous Debian grace a
path: /usr/bin/vim.basic
~~~
* Module [service](https://docs.ansible.com/ansible/2.7/modules/service_module.html) :
* Module [service](https://docs.ansible.com/ansible/2.10/modules/service_module.html) :
~~~{.yaml}
- name: exemple pour redémarrer un service (compatible avec sysvinit, systemd…)
@ -304,7 +304,7 @@ Il nécessite la bibliothèque Python "passlib", installable sous Debian grace a
state: restarted
~~~
* Module [openbsd_pkg](https://docs.ansible.com/ansible/2.7/modules/openbsd_pkg_module.html) :
* Module [openbsd_pkg](https://docs.ansible.com/ansible/2.10/modules/openbsd_pkg_module.html) :
~~~{.yaml}
- openbsd_pkg:
@ -315,7 +315,7 @@ Il nécessite la bibliothèque Python "passlib", installable sous Debian grace a
- vim--no_x11
~~~
* module [timezone](https://docs.ansible.com/ansible/2.7/modules/timezone_module.html) :
* module [timezone](https://docs.ansible.com/ansible/2.10/modules/timezone_module.html) :
~~~{.yaml}
- timezone:
@ -326,7 +326,7 @@ Si systemd est présent, le module utilise `timedatectl`.
Sinon, sur Debian il utilise "/etc/timezone" et reconfigure le paquet "tzdata".
* module [git](https://docs.ansible.com/ansible/2.7/modules/latest/git_module.html) :
* module [git](https://docs.ansible.com/ansible/2.10/modules/latest/git_module.html) :
~~~{.yaml}
- git:
@ -351,7 +351,7 @@ Pour avoir plus d'infos sur un module :
### playbook
<https://docs.ansible.com/ansible/latest/user_guide/playbooks.html>
<https://docs.ansible.com/ansible/2.10/user_guide/playbooks.html>
Un playbook va ensuite dérouler des actions qui seront organisées en _tasks_, [roles](#roles) et [handlers](#handlers).