Introduction
Molecule est un outil puissant pour le développement et les tests de rôles Ansible. Il permet d’automatiser le provisionnement, l’exécution et la vérification de vos rôles dans des environnements virtuels, garantissant ainsi leur qualité et leur fiabilité. Ce tutoriel vous guidera à travers les étapes d’installation de Molecule et vous fournira un exemple complet de configuration d’un environnement de test.
Prérequis
Avant de commencer, assurez-vous d’avoir installé les éléments suivants sur votre système :
- Ansible: https://docs.ansible.com/ansible/latest/installation_guide/intro_installation.html
- Python: https://www.python.org/downloads/
- Pip: https://pip.pypa.io/en/stable/installation/
Installation de Molecule
Molecule peut être installé à l’aide de pip :
$ pip install molecule
Initialisation d’un projet Molecule
Pour initialiser un projet Molecule pour votre rôle Ansible, créez un répertoire et exécutez la commande suivante :
$ molecule init role_name
Remplacez role_name
par le nom de votre rôle. Cela créera une structure de répertoire standard pour votre projet Molecule, incluant un fichier molecule.yml
de configuration.
Configuration de Molecule
Le fichier molecule.yml
est le cœur de votre configuration Molecule. Il définit les pilotes de virtualisation, les plateformes de test, les playbooks et les options de test pour votre projet.
Voici un exemple de fichier molecule.yml
:
driver:
name: docker
platforms:
- name: default
image: centos:7
provisioner:
name: ansible
playbooks: prepare.yml
verifier:
name: ansible
playbooks: verify.yml
Ce fichier configure Molecule pour utiliser Docker comme pilote de virtualisation et une image CentOS 7 comme plateforme de test. Il exécute ensuite les playbooks prepare.yml
et verify.yml
pour provisionner et tester votre rôle, respectivement.
Exécution des tests Molecule
Pour exécuter les tests Molecule, utilisez la commande suivante :
$ molecule converge
Cette commande provisionnera l’environnement de test, exécutera le playbook prepare.yml
, puis exécutera le playbook verify.yml
et affichera les résultats des tests.
Exemple complet
Voici un exemple complet d’installation et d’exécution de Molecule pour un rôle Ansible simple :
1. Créer un répertoire pour votre rôle et initialiser Molecule
$ mkdir myrole
$ cd myrole
$ molecule init myrole
2. Créer les playbooks prepare.yml
et verify.yml
$ touch prepare.yml verify.yml
3. Ajouter le contenu suivant au fichier prepare.yml
---
- name: Install Nginx
hosts: all
become: true
tasks:
- name: Install Nginx
apt:
name: nginx
state: latest
4. Ajouter le contenu suivant au fichier verify.yml
---
- name: Verify Nginx is installed and running
hosts: all
become: true
tasks:
- name: Check Nginx is installed
service:
name: nginx
state: started
- name: Check Nginx is running on port 80
uri:
url: http://localhost
status_code: 200
5. Exécuter les tests Molecule
$ molecule converge
Ceci exécutera les tests et affichera un message de réussite si Nginx est installé et en cours d’exécution.
Conclusion
Molecule est un outil essentiel pour tester et garantir la qualité de vos rôles Ansible. En suivant ce guide, vous avez appris à installer Molecule, à configurer un environnement de test et à exécuter des tests pour votre rôle Ansible. N’hésitez pas à explorer la documentation officielle de Molecule pour découvrir des fonctionnalités plus avancées et des options de configuration.