Disclaimer: Je n'ai testé cela que sur OSX. Sur la base des divers documents, je pense que cela fonctionnera sur d’autres plateformes.
"répertoire du projet" fait référence au répertoire de base du projet Vagrant - le répertoire qui contient Vagrantfile
.
Fichier d'inventaire généré automatiquement par Vagrant:
Vagrant crée un fichier d'inventaire avec les vars 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 au besoin, ainsi les modifications manuelles seront écrasées. Toutefois, conformément à la documentation Vagrant, vous pouvez spécifier plusieurs ordinateurs, groupes de vars, etc., Vagrantfile
et ils seront ajoutés à ce fichier d'inventaire.
Configurez Ansible pour utiliser par défaut ce fichier d'inventaire:
Pour que ce fichier devienne le fichier par défaut utilisé par la ansible
commande lorsque vous vous trouvez dans le répertoire du projet (sur l'hôte), ajoutez un ansible.cfg
fichier dans votre répertoire de projet avec le contenu suivant, en modifiant le chemin d'accès selon vos besoins:
[defaults]
inventory = ./path/to/inventory
Pour confirmer que ce fichier d'inventaire est utilisé, recherchez-le comme fichier par défaut signalé par ansible:
(depuis le 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 pouvoir utiliser ansible
normalement avec les hôtes que vous avez définis Vagrantfile
.
Par exemple:
ansible slave -a 'hostname'
~/.ssh/config