Avertissement : je n'ai testé ceci que sur OSX. D'après les différentes documentations, je pense qu'il peut fonctionner sur d'autres plateformes.
Le "répertoire du projet" désigne le répertoire de base du projet Vagrant, c'est-à-dire le répertoire qui contient les éléments suivants Vagrantfile
.
Fichier d'inventaire Ansible généré automatiquement par Vagrant :
Vagrant crée un fichier d'inventaire avec les paramètres de connexion Ansible par défaut. Cherchez-le dans <project directory>/.vagrant/provisioners/ansible/inventory/vagrant_ansible_inventory
.
Ce fichier sera régénéré par Vagrant selon les besoins, et les modifications manuelles seront donc écrasées. Cependant, selon la documentation de Vagrant, vous pouvez spécifier plusieurs machines, des variables de groupe, etc. dans le fichier Vagrantfile
et ils seront ajoutés à ce fichier d'inventaire.
Configurez Ansible pour qu'il utilise par défaut ce fichier d'inventaire :
Pour faire de ce fichier le fichier par défaut utilisé par le ansible
lorsque vous êtes dans le répertoire du projet (sur l'hôte), ajoutez une commande ansible.cfg
dans le répertoire de votre projet avec ce contenu, en modifiant le chemin d'accès si nécessaire :
[defaults]
inventory = ./path/to/inventory
Pour confirmer que ce fichier d'inventaire est utilisé, recherchez-le comme valeur par défaut signalée par ansible :
(à partir du répertoire du projet)
$ ansible | grep inventory ERROR! Missing target hosts -i INVENTORY, --inventory-file=INVENTORY specify inventory host path (default=./.vagrant/provis ioners/ansible/inventory/vagrant_ansible_inventory) or
Pour confirmer vos hôtes :
$ ansible all --list-hosts hosts (2): master slave
Utiliser Ansible avec ces hôtes :
À partir du répertoire du projet, vous devriez alors être en mesure d'utiliser ansible
comme d'habitude avec les hôtes que vous avez définis dans Vagrantfile
.
Par exemple :
ansible slave -a 'hostname'
3 votes
~/.ssh/config
1 votes
@ceejayoz Pourriez-vous expliquer un peu
0 votes
Je ne suis pas un administrateur Ansible, et les documents sont confus sur le sujet ( s'agit-il d'une "variable" ou d'un "paramètre" et y a-t-il une différence ? ) mais il semble que vous puissiez définir des variables au niveau du groupe.