Tester Ansible avec une commande simple
Dans cette étape, vous allez tester votre installation d'Ansible en exécutant une commande simple sur le système local. Accédez au répertoire du projet et utilisez le fichier d'inventaire préconfiguré pour exécuter une commande ad-hoc Ansible.
Naviguez vers le répertoire du projet et testez la fonctionnalité de ping de base :
cd /home/labex/project
ansible localhost -m ping
Le module ping n'envoie pas réellement de paquets ICMP ; au lieu de cela, il vérifie qu'Ansible peut se connecter à la cible et exécuter du code Python. Une réponse réussie ressemblera à ceci :
localhost | SUCCESS => {
"ansible_facts": {
"discovered_interpreter_python": "/usr/bin/python3"
},
"changed": false,
"ping": "pong"
}
Décomposons cette sortie :
- localhost | SUCCESS : Indique que la commande s'est exécutée avec succès sur la cible localhost
- ansible_facts : Contient les informations système découvertes lors de l'exécution
- discovered_interpreter_python : Le chemin de l'interpréteur Python qu'Ansible a trouvé et utilisera
- changed: false : Indique qu'aucun changement n'a été apporté au système (ping est en lecture seule)
- ping: "pong" : La réponse classique confirmant la connectivité d'Ansible
La réponse "pong" confirme qu'Ansible fonctionne correctement et peut communiquer avec le système cible.
Testons également la collecte d'informations système en utilisant le module setup :
ansible localhost -m setup -a "filter=ansible_distribution*"
Cette commande utilise le module setup pour collecter les faits système, en filtrant spécifiquement les informations de distribution. Vous devriez voir une sortie contenant des détails sur votre système Red Hat Enterprise Linux :
localhost | SUCCESS => {
"ansible_facts": {
"ansible_distribution": "RedHat",
"ansible_distribution_file_parsed": true,
"ansible_distribution_file_path": "/etc/redhat-release",
"ansible_distribution_file_search_string": "Red Hat",
"ansible_distribution_file_variety": "RedHat",
"ansible_distribution_major_version": "9",
"ansible_distribution_release": "Plow",
"ansible_distribution_version": "9.6",
"discovered_interpreter_python": "/usr/bin/python3"
},
"changed": false
}
Comprendre la sortie des faits système :
- ansible_distribution : Le nom de la distribution Linux (RedHat)
- ansible_distribution_file_parsed : Si Ansible a réussi à lire le fichier de distribution
- ansible_distribution_file_path : Le fichier qui contient les informations de distribution
- ansible_distribution_file_search_string : Le motif de texte utilisé pour identifier la distribution
- ansible_distribution_file_variety : La famille de distribution (famille RedHat)
- ansible_distribution_major_version : Le numéro de version majeure (9)
- ansible_distribution_release : Le nom de code de la version (Plow)
- ansible_distribution_version : Le numéro de version complet (9.6)
- discovered_interpreter_python : Interpréteur Python découvert par Ansible
Cela confirme qu'Ansible peut collecter avec succès les informations système de l'hôte cible, ce qui est essentiel pour créer une automatisation conditionnelle basée sur les caractéristiques du système.