Estou executando o Vagrant 1.8.1 e ansible 1.8.4 no Mac OS.
Eu iniciei 2 máquinas Ubuntu no vagrant:
itais-MacBook-Pro:ansible-dir itaiganot$ ./dev/hosts --list | jq '.'
{
"web": [
"web"
],
"app": [
"app-1"
],
"vagrant": [
"web",
"app-1"
],
"_meta": {
"hostvars": {
"web": {
"ansible_ssh_host": "127.0.0.1",
"ansible_ssh_port": "2201",
"ansible_ssh_user": "vagrant",
"ansible_ssh_private_key_file": "/Users/itaiganot/ansible-dir/.vagrant/machines/web/virtualbox/private_key"
},
"app-1": {
"ansible_ssh_host": "127.0.0.1",
"ansible_ssh_port": "2202",
"ansible_ssh_user": "vagrant",
"ansible_ssh_private_key_file": "/Users/itaiganot/ansible-dir/.vagrant/machines/app-1/virtualbox/private_key"
}
}
}
}
Eu tenho um arquivo ansible.cfg
no diretório atual onde o VagrantFile também reside.
itais-MacBook-Pro:ansible-dir itaiganot$ cat ansible.cfg
[defaults]
host_key_checking = False
inventory = dev
no diretório dev existem dois arquivos:
hosts - que é um script python que localiza automaticamente o IP das máquinas iniciadas e outro arquivo que inclui as configurações de funções:
itais-MacBook-Pro:dev itaiganot$ cat static
[web]
[app]
[role_web:children]
web
[role_app:children]
app
Estou tentando executar o seguinte comando:
ansible role_app -a 'hostname'
Mas estou recebendo o seguinte erro:
ERROR: Unable to find an inventory file, specify one with -i ?
Eu pesquisei e descobri que posso exportar uma variável para apontar para a configuração, assim:
export ANSIBLE_CONFIG=/Users/itaiganot/ansible-dir/ansible.cfg
Mas isso não me ajudou também.
A propósito, adicionando o diretório dev como inventário para o comando funciona:
itais-MacBook-Pro:ansible-dir itaiganot$ ansible role_app -a 'hostname' -i dev
app-1 | success | rc=0 >>
app-1
Alguma idéia de por que o arquivo ansible.cfg
é ignorado por ansible?