在 Ansible 2.2 上,
我有一个 Ansible 主机文件:
[webserver]
aegir.dev
[hostmaster]
aegir.dev
我有两个group_vars/
文件:
# group_vars/webserver.yml
my_var:
- vagrant
和
# group_vars/hostmaster.yml
my_var:
- vagrant
- aegir
和剧本:
- hosts: webserver
tasks:
- debug: var=my_var
- hosts: hostmaster
tasks:
- debug: var=my_var
输出:
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"
]
}
为什么两者都webserver
使用hostmaster
变量hostmaster.yml
?
可能我没有group_vars
正确使用,但我该如何解决?
编辑
真实的情况是我在两个组上运行相同的角色,一个是webserver
实际上包含 4 个通用服务器的hostmaster
组和一个 webserver + 相同角色上的额外配置的组(用户 aegir 仅存在于 aegir.dev 而不是在其他 3 个网络服务器上)