L’utilitaire, peu connu, ansible-console est présenté comme étant une
console REPL (Read–Evaluate–Print Loop). ansible-console permet de lancer de
manière interactive des actions ansible « ligne par ligne », donc
chaque ligne saisie est immédiatement traitée et le résultat affiché,
puis le prompt réapparaît. Les effets des instructions exécutées sont
préservées, donc l’état du système sous-jacent change à mesure.
Utilisation de la console Ansible
La commande ansible-console est très riche et reprend en grande partie les
options de la commande ansible-playbook. Le mieux est de lancer la commande
ansible-console --help :
On peut ainsi configurer le moyen de connexion (private-key, remote_user,
ssh-common-args, …), de faire de l’élévation de privilège (become), de
demander un mot de passe pour déchiffrer un/des vault(s), d’indiquer le user, et
d’indiquer un inventaire à utiliser.
Lancer la console sur un inventaire
Il suffit d’utiliser le paramètre -i qui peut être compléter par le paramètre
-l ou --limit
Par exemple j’ai cet inventaire :
dont les machines sont créés avec vagrant:
et le playbook provision-playbook.yml (ce playbook ne fait que la configuration du host):
On peut maintenant lancer la console ansible sur cet inventaire et lançons la
commande help qui affichera toutes les commandes disponibles:
Pour obtenir la documentation sur une commande help commande. Par exemple
Lancer des modules ansible
Pour lancer par exemple pour le lancer module package et installer nmap-ncat (redhat):
Je ne vais pas documenter l’ensemble des modules à disposition.
Se déplacer dans l’inventaire
A tout moment, vous pouvez vous déplacer dans l’inventaire avec la commande cd et
afficher la liste des machines avec la commande list.
Pour revenir à la racine un simple cd.
Obtenir de l’information sur les hosts
On peut utiliser les modules gather_factspackage_facts et service_facts pour
obtenir de l’information sur les machines de votre inventaire.
Sortir de la console
Pour sortir de la console exit ou [CTRL]+[D]
Je pense que cet outil permet encore d’autres choses, mais manque cruellement de
documentations et de tutorials.
Si vous voulez plus de tutorials Ansible je vous renvoie sur le billet de
l’introduction à ansible