Ansile, on continue
Ou l’on continue l’exploration de ansible.
Retour sur le fichier hosts
L’une des questions que je me suis posées est de savoir si on pouvait faire des groupes qui contiennent des groupes.
Par exemple on pourrait avoir une liste des machines de Paris :
|
|
Et une liste des machines de Bruxelles :
|
|
Nous avons besoin maintenant de nous adresser à toutes les machines qui sont dans ces deux groupes. Bien sûr nous aurions pu lancer deux fois la commande ansible
avec chacun de ces groupes. Mais nous pouvons aussi définir un groupe qui contient les deux groupes déjà existants :
|
|
Il ne nous reste plus qu’à appeller ansible
en utilisant le “meta” group comme cible de nos commandes :
|
|
Le nouveau groupe doit être déclaré après la définition des deux premiers, c’est la seule contrainte.
Un problème annexe
J’ai plusieurs machines (une grosse quarantaine) listées dans le fichier host
de ansible, mais sur lesquelles le paquet python-simplejson
n’est pas installé. Du coup ansible n’est pas disponible. Fort heureusement ces machines ont toutes un point commun, leur nom commence par lab
.
Grâce à cela je fais pouvoir faire une petite boucle pour installer le paquet manquant et ainsi faire marcher ansible. Voici le petit morceau de shell script qui fait cela1.
|
|
Le mot de passe de root
vous sera demandé pour chacune des machines.
Une fois le paquet installé, on peut utiliser ansible normalement.
-
Ce code est adapté à des distributions
redhat
qui utilisentyum
. À vous de l’adapter pour le faire fonctionner sur votre distribution particulière. ↩︎