Introduction
Molecule est un outil open source pour tester des configurations Ansible. Il aide les développeurs à tester de manière efficace leur code Ansible en fournissant une infrastructure pour exécuter des scénarios de tests dans un environnement contrôlé. Molecule peut exécuter des tests sur des plateformes virtuelles, telles que VirtualBox et Docker, ainsi que sur des plates-formes cloud, telles que Amazon Web Services (AWS) et Google Cloud Platform (GCP).
Avec Molecule, les développeurs peuvent définir des scénarios de tests dans des fichiers de spécification, tels que des scénarios de test de configuration de base, de déploiement, de sécurité et de conformité. Molecule peut également vérifier la validité du code Ansible en utilisant des outils tels que YAML Lint et Ansible Lint.
L’utilisation de Molecule peut amĂ©liorer la qualitĂ© et la stabilitĂ© du code Ansible en permettant aux dĂ©veloppeurs de tester leur code de manière plus automatisĂ©e et en fournissant une infrastructure pour exĂ©cuter des tests dans un environnement contrĂ´lĂ©. En outre, Molecule peut Ă©galement amĂ©liorer la collaboration et la collaboration entre les Ă©quipes de dĂ©veloppement en permettant de partager et de maintenir facilement des tests de configurations.
Setup de molecule
|
|
Dossier d’un scĂ©nario
|
|
Fichier converge : Ce fichier dĂ©finit le code Ansible qui sera utilisĂ© pour configurer et dĂ©ployer les ressources dans l’environnement de test. Il peut inclure des tâches Ansible, des modules Ansible, des playbooks Ansible, etc.
Fichier install.rst : Ce fichier dĂ©finit les dĂ©pendances et les prĂ©requis pour exĂ©cuter les tests dans Molecule. Il peut inclure des instructions pour installer des packages, des modules et d’autres Ă©lĂ©ments requis pour exĂ©cuter les tests.
|
|
Fichier scenario.yml : Ce fichier dĂ©finit les paramètres de scĂ©nario pour un scĂ©nario de test spĂ©cifique dans Molecule. Il peut inclure des paramètres pour spĂ©cifier le système d’exploitation cible, la plate-forme virtuelle ou cloud utilisĂ©e, la stratĂ©gie de convergence, la stratĂ©gie de vĂ©rification, etc.
Fichier .kitchen.yml : Ce fichier est utilisé pour définir les paramètres de configuration pour les tests avec Kitchen-Ansible, qui est une autre infrastructure de test pour les configurations Ansible.
Les séquences
-
create
-
check
-
converge
-
destroy
-
test
Les commandes
molecule init : Cette commande initialise un nouveau projet Molecule et crée les dossiers et fichiers nécessaires pour commencer à écrire et exécuter des scénarios de tests.
molecule create : Cette commande crée des instances virtuelles ou des machines virtuelles pour exécuter les scénarios de tests dans.
molecule converge : Cette commande exĂ©cute le code Ansible dĂ©fini dans le fichier converge pour configurer et dĂ©ployer les ressources dans l’environnement de test.
- lint
- dependency
- cleanup
- destroy
- syntax
- create
- prepare
- converge
- idempotence
- side_effect
- verify
- cleanup
- destroy
verifier: name: testinfra
molecule verify : Cette commande exĂ©cute les tests de vĂ©rification dĂ©finis dans le fichier testinfra.py pour tester la configuration du système dans l’environnement de test.
molecule destroy : Cette commande détruit les instances virtuelles ou les machines virtuelles créées pour les scénarios de tests.
molecule test : Cette commande exécute les étapes de création, convergence, vérification et destruction dans un seul cycle, ce qui est utile pour effectuer un test complet.
molecule list : Cette commande liste les différents scénarios de tests disponibles dans le projet.
molecule login : Cette commande permet de se connecter Ă une instance virtuelle ou une machine virtuelle pour inspecter les ressources dĂ©ployĂ©es dans l’environnement de test.
il y a une option pour sélectionner un scénario -s --scenario-name