Disclaimer: Eu só testei isso no OSX. Com base nos vários documentos, espero que funcione em outras plataformas.
"diretório do projeto" refere-se ao diretório base do projeto Vagrant - o diretório que contém Vagrantfile
.
Arquivo Ansible Inventory gerado automaticamente pelo Vagrant:
O Vagrant cria um arquivo de inventário com os vars de conexão Ansible padrão. Procure por ele <project directory>/.vagrant/provisioners/ansible/inventory/vagrant_ansible_inventory
.
Este arquivo será regenerado pelo Vagrant conforme necessário, para que as edições manuais sejam substituídas. No entanto, de acordo com os documentos do Vagrant, você pode especificar várias máquinas, grupos de vars, etc., Vagrantfile
e eles serão adicionados a esse arquivo de inventário.
Configure Ansible como padrão para este arquivo de inventário:
Para tornar esse arquivo o padrão usado pelo ansible
comando quando você estiver no diretório do projeto (no host), adicione um ansible.cfg
arquivo no diretório do projeto com este conteúdo, alterando o caminho conforme necessário:
[defaults]
inventory = ./path/to/inventory
Para confirmar que este arquivo de inventário está sendo usado, procure-o como o padrão relatado pelo ansible:
(de dentro do diretório do projeto)
$ 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
Para confirmar seus hosts:
$ ansible all --list-hosts
hosts (2):
master
slave
Usando Ansible com estes hosts:
No diretório do projeto, você poderá usar ansible
normalmente os hosts que você definiu Vagrantfile
.
Por exemplo:
ansible slave -a 'hostname'
~/.ssh/config