This repository has been archived by the owner on Sep 6, 2019. It is now read-only.
{019} Ansible en ligne de commande
Hervé Leclerc edited this page Aug 1, 2014
·
3 revisions
Ansible peut être invoqué en ligne de commande pour effectuer des actions en parallèle sur plusieurs serveurs.
Vidéo : http://youtu.be/aQw8XIBjw2I
ansible –h pour avoir l’aide
ansible groupe-de-machines –i inventaire –m module -a « paramètres du module »
exemples :
ansible targets –i azure_hosts –m ping
ansible webservers –i azure_hosts –m wait_for –a "port=80 timeout=2"
ansible databases –i azure_hosts –m ping
Renvoie une structure json
Ce module tente la connexion sur les serveurs distants en parallèle si succès le module renvoi « pong »
awubuntum4 | success >> {
"changed": false,
"ping": "pong"
}
awubuntum3 | success >> {
"changed": false,
"ping": "pong"
}
Dans le cas d’une erreur on aurait un message équivalent à :
awubuntum2 | FAILED >> {
"elapsed": 2,
"failed": true,
"msg": "Timeout when waiting for 127.0.0.1:80"
}
awubuntum1 | FAILED >> {
"elapsed": 2,
"failed": true,
"msg": "Timeout when waiting for 127.0.0.1:80"
}
awubuntum2 | FAILED => SSH encountered an unknown error during the connection. We recommend you re-run the command using -vvvv, which will enable SSH debugging output to help diagnose the issue
Pour l’instant dans notre tutorial les serveurs web ne sont pas installés. Cette erreur est normale :)
ansible webservers –i azure_hosts -m wait_for -a "port=22 timeout=2"
Test le port 22 sur les machines et renvoi des informations :
awubuntum1 | success >> {
"changed": false,
"elapsed": 0,
"path": null,
"port": 22,
"search_regex": null,
"state": "started"
}
awubuntum2 | success >> {
"changed": false,
"elapsed": 0,
"path": null,
"port": 22,
"search_regex": null,
"state": "started"
}
Le port 22 (SSH est accessible et up)