No Ansible 2.2,
Eu tenho um arquivo de hosts Ansible:
[webserver]
aegir.dev
[hostmaster]
aegir.dev
Eu tenho dois arquivos group_vars/ :
# group_vars/webserver.yml
my_var:
- vagrant
e
# group_vars/hostmaster.yml
my_var:
- vagrant
- aegir
e o manual:
- hosts: webserver
tasks:
- debug: var=my_var
- hosts: hostmaster
tasks:
- debug: var=my_var
Saída:
PLAY [webserver] ***************************************************************
TASK [setup] *******************************************************************
ok: [aegir.dev]
TASK [debug] *******************************************************************
ok: [aegir.dev] => {
"my_var": [
"vagrant",
"aegir"
]
}
PLAY [hostmaster] **************************************************************
TASK [setup] *******************************************************************
ok: [aegir.dev]
TASK [debug] *******************************************************************
ok: [aegir.dev] => {
"my_var": [
"vagrant",
"aegir"
]
}
Por que webserver e hostmaster usam as variáveis de hostmaster.yml ?
Provavelmente não estou usando o group_vars corretamente, mas como posso consertar isso?
EDITAR
O cenário real é que eu tenho a mesma função em dois grupos, um é webserver que na verdade contém 4 servidores genéricos e o grupo hostmaster que é um servidor da Web + configuração extra na mesma função (o usuário aegir existe apenas no aegir.dev e não nos outros 3 servidores web)