- 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