80 lines
2.7 KiB
YAML
80 lines
2.7 KiB
YAML
- name: Exemple de playbook Ansible pour le déploiement de module EOLE
|
|
hosts: all
|
|
tasks:
|
|
|
|
- name: Mise à jour des valeurs de configuration Creole
|
|
# On utilise le module Ansible "eole_config" implémenté
|
|
# par ce projet
|
|
eole_config:
|
|
name: "{{ item.name }}"
|
|
value: "{{ item.value | to_json }}"
|
|
# On définit ici l'ensemble des valeurs de configuration nécessaires
|
|
# à l'instanciation d'un module eolebase.
|
|
with_items:
|
|
- name: ip_ssh_eth0
|
|
value: [ 0.0.0.0 ]
|
|
- name: netmask_ssh_eth0
|
|
value: [ 0.0.0.0 ]
|
|
- name: ip_admin_eth0
|
|
value: [ 0.0.0.0 ]
|
|
- name: netmask_admin_eth0
|
|
value: [ 0.0.0.0 ]
|
|
- name: nom_machine
|
|
value: ansible-eole
|
|
- name: nom_domaine_local
|
|
value: ansible-eole
|
|
# Dans les 3 entrées suivantes, on utilise les données récoltées
|
|
# dans les "facts" Ansible pour définir l'adresse IP de la carte
|
|
# eth0, l'adresse IP de la passerelle et les serveurs DNS.
|
|
- name: adresse_ip_eth0
|
|
value: '{{ ansible_default_ipv4.address }}'
|
|
- name: adresse_ip_gw
|
|
value: '{{ ansible_default_ipv4.gateway }}'
|
|
- name: adresse_ip_dns
|
|
value: '{{ ansible_dns.nameservers }}'
|
|
- name: nom_academie
|
|
value: ac-ansible
|
|
- name: exim_relay_smtp
|
|
value: 127.0.0.1
|
|
- name: numero_etab
|
|
value: '000Test'
|
|
- name: libelle_etab
|
|
value: Ansible EOLE
|
|
|
|
# Le paquet python-pexpect est nécessaire
|
|
# à l'utilisation du module Ansible "expect"
|
|
- name: Installation de pexpect
|
|
package:
|
|
name: python-pexpect
|
|
state: present
|
|
|
|
# On récupère l'état du module (instancié ou non)
|
|
- name: On vérifie l'état du module
|
|
eole_config:
|
|
name: module_instancie
|
|
register: module_instancie
|
|
|
|
# On instancie le module si celui ci ne l'est pas déjà
|
|
- name: Instancier le module EOLE
|
|
when: module_instancie.value != 'oui'
|
|
expect:
|
|
command: /usr/bin/instance
|
|
# Attention, les mots de passe sont en clairs dans le playbook !
|
|
# Il serait préférable d'utiliser le mécanisme ansible_vault ici.
|
|
responses:
|
|
"Nouveau mot de passe:":
|
|
- "NotSoSecret;21"
|
|
- "NotSoSecret;21"
|
|
"Confirmation du mot de passe:":
|
|
- "NotSoSecret;21"
|
|
- "NotSoSecret;21"
|
|
'\[non\]':
|
|
- non
|
|
'\[oui\]':
|
|
- non
|
|
timeout: 600
|
|
|
|
# On reconfigure le module
|
|
- name: Reconfigurer le module EOLE
|
|
command: /usr/bin/reconfigure
|