Disclaimer: l'ho provato solo su OSX. Sulla base dei vari documenti, mi aspetto che funzioni su altre piattaforme.
"directory del progetto" si riferisce alla directory di base per il progetto Vagrant - la directory che contiene Vagrantfile
.
File di inventario Ansible generato automaticamente da Vagrant:
Vagrant crea un file di inventario con le variabili di connessione Ansible predefinite. Cercalo dentro <project directory>/.vagrant/provisioners/ansible/inventory/vagrant_ansible_inventory
.
Questo file verrà rigenerato da Vagrant in base alle necessità, quindi le modifiche manuali verranno sovrascritte. Tuttavia, secondo i documenti di Vagrant, è possibile specificare più macchine, raggruppare var, ecc. Vagrantfile
E verranno aggiunti a questo file di inventario.
Configurare Ansible per impostazione predefinita a questo file di inventario:
Per rendere questo file il valore predefinito utilizzato dal ansible
comando quando ci si trova nella directory del progetto (sull'host), aggiungere un ansible.cfg
file nella directory del progetto con questi contenuti, modificando il percorso secondo necessità:
[defaults]
inventory = ./path/to/inventory
Per confermare che questo file di inventario viene utilizzato, cercalo come predefinito riportato da ansible:
(dall'interno della directory del progetto)
$ 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
Per confermare i tuoi host:
$ ansible all --list-hosts
hosts (2):
master
slave
Utilizzo di Ansible con questi host:
Dall'interno della directory del progetto, dovresti essere in grado di utilizzare ansible
normalmente con gli host in cui hai definito Vagrantfile
.
Per esempio:
ansible slave -a 'hostname'
~/.ssh/config