Bonjour,
je suis un tuto pour apprendre (débuter avec) ansible. J'ai pushé deux playbooks, sans problème particulier, sinon de la typo (corrigé maintenant).
Par contre pour le dernier playbook, le troisième, ça ne passe pas, et je n'arrive pas à trouver comment corriger. J'aimerais bien obtenir de l'aide…
Je poste l'erreur que j'obtiens, puis les fichiers…
J'ai simplement:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 (ansible2.7.10) user-ansible@node-manager:~$ ansible-playbook -i inventaire.ini --user user-ansible --become --ask-become-pass --ask-vault-pass install-mediawiki.yml SUDO password: Vault password: PLAY [mediaWiki db configuration] ********************************************************************************************************************************************************************************************************************* TASK [mediawiki/confdb : mediawiki database] ********************************************************************************************************************************************************************************************************** ok: [bdd2] TASK [mediawiki/confdb : mediawiki user+privileges] *************************************************************************************************************************************************************************************************** fatal: [bdd2]: FAILED! => {"msg": "The task includes an option with an undefined variable. The error was: 'item' is undefined\n\nThe error appears to have been in '/home/user-ansible/roles/mediawiki/confdb/tasks/main.yml': line 11, column 3, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\nThe offending line appears to be:\n\n#2. Création d'un accès utilisateur et attribution des privilèges sur le base mediawiki\n- name: \"mediawiki user+privileges\"\n ^ here\n"} to retry, use: --limit @/home/user-ansible/install-mediawiki.retry PLAY RECAP ******************************************************************************************************************************************************************************************************************************************** bdd2 : ok=1 changed=0 unreachable=0 failed=1 (ansible2.7.10) user-ansible@node-manager:~$
node-manager : debian11 - 192.168.0.102
http2 : centos7 - 192.168.0.103
bdd2 : centos7 - 192.168.0.104
J'ai installé ansible dans un environnement de travail python virtuel avec pip.
Le premier playbook installe un serveur httpd sur le node http2 et le configure OK.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 (ansible2.7.10) user-ansible@node-manager:~$ tree roles/ roles/ ├── apache │** ├── handlers │** │** └── main.yml │** └── tasks │** ├── main.yml │** └── php7-install.yml ├── mariadb │** └── tasks │** └── main.yml └── mediawiki ├── commun │** └── defaults │** └── main.yml ├── confapache │** ├── meta │** │** └── main.yml │** └── tasks │** └── main.yml └── confdb ├── meta │** └── main.yml └── tasks └── main.yml 14 directories, 9 files
Le second playbook installe un serveur mariadb sur le node bdd2 et le configure OK.
Le troisième playbook, devrait installer Mediawiki (téléchargement de la source, désarchivage sur /var/www/http/ sur le node http2 + configuration de la BD mediawiki sur bdd2), ça coince je ne sais pas pourquoi !
~/roles/mediawiki/confdb/tasks/main.yml (le problème viendrait d'ici selon le message d'erreur, avec 'item')
~/roles/mediawiki/commun/defaults/main.yml
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 (ansible2.7.10) user-ansible@node-manager:~$ cat ~/roles/mediawiki/confdb/tasks/main.yml # ~/roles/mediawiki/confdb/tasks/main.yml --- #1. Installation de la base de données Mediawiki - name: "mediawiki database" mysql_db: name: "{{mediawiki_db_name}}" # => mediawiki state: present #2. Création d'un accès utilisateur et attribution des privilèges sur le base mediawiki - name: "mediawiki user+privileges" mysql_user: name: "{{mediawiki_db_user}}" password: "{{mediawiki_db_password}}" priv: "{{mediawiki_db_name}}.*:ALL" # => mediawiki host: "{{item}}" state: present with_items: "{{groups.apache}}"
Chacun des fichiers /etc/hosts sont renseignés avec les ip correspondant au nodes…
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43 (ansible2.7.10) user-ansible@node-manager:~$ cat ~/roles/mediawiki/commun/defaults/main.yml # ~/roles/mediawiki/commun/defaults/main.yml --- # nom de la base de données mediawiki_db_name: "mediawiki" # nom de l'utilisateur de la base de données et son mot de passe mediawiki_db_user: "mediawiki" mediawiki_db_password: !vault | $ANSIBLE_VAULT;1.1;AES256 66356330613535306333666239643764663932353033333662643337386337656662356438376630 3864323234376537626464363539633861353632613539630a383462623937363638633833653165 64613564386532663437303438356330306131613339376532396339623264383264383033643362 6531663330323964650a373038323332626461363463396339363635646432316530346361353061 6662 # nom et mot de passe de l'administrateur Mediawiki mediawiki_admin_user: "admin" mediawiki_admin_password: !vault | $ANSIBLE_VAULT;1.1;AES256 66356330613535306333666239643764663932353033333662643337386337656662356438376630 3864323234376537626464363539633861353632613539630a383462623937363638633833653165 64613564386532663437303438356330306131613339376532396339623264383264383033643362 6531663330323964650a373038323332626461363463396339363635646432316530346361353061 6662 # nom du Mediawiki et son titre mediawiki_name: "mediawiki" mediawiki_title: "ELS" # l'emplacement du répertoire d'installation de Mediawiki # => Mediawiki est un site internet mediawiki_directory: "/var/www/html/{{mediawiki_name]]" # répertoire de maintenance de mediawiki mediawiki_maintenance_directory: "{{mediawiki_directory}}/maintenance" # Definie le premier node du groupe mariadb mediawiki_db_host: "{{groups.db.0}}" # l'url des sources mediawiki mediawiki_archive_url: "https://releases.wikimedia.org/mediawiki/1.31/mediawiki-1.31.1.tar.gz"
Parefeu éteint, selinux permissiv.
L'inventaire:
Et finalement le playbook qui n'aboutit pas: install-mediawiki.yml
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 user-ansible@node-manager:~$ cat inventaire.ini [apache] http2 [db] bdd2
Les mots de passe données dans le tuto sont:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 user-ansible@node-manager:~$ cat install-mediawiki.yml --- - name: "mediaWiki db configuration" hosts: db gather_facts: no tags: [ "mariadb", "mysql" ] roles: - role: "mediawiki/confdb" - name: "MediaWiki apache configuration" hosts: apache gather_facts: no tags: "apache" roles: - role: "mediawiki/confapache"
mot de passe sudo: passforce
mot de passe Vault: Ansible2019
Merci pour votre aide
Partager