Ansible group_vars对非群组成员可见

我正在使用Ansible 2.0.0.2

我有这样的库存文件:

 [webproxy] testserver [database] testserver [application] testserver [testing:children] webproxy database 

我从这样的剧本中运行angular色:

 --- - hosts: application become: true roles: - application 

我在group_vars/testing为testing环境定义variables。 我有angular色webproxydatabaseapplication

由于application组不包含在testing组中,因此我期望运行applicationangular色失败,因为我只为testing组定义了所需的variables。 实际上运行application.yaml工作是能够使用在group_vars/testing定义的variables。 这是正确的行为?

testing组似乎至less有一些效果,因为如果我从库存文件中完全删除它,那么运行应用程序angular色会因预期的未定义variables而失败。

group_vars是否应该像这样工作? 这是否可能是由于我在同一主机上安装了angular色? (我现在不能访问多台机器,所以我无法testing每个angular色都有自己的机器。)

我一直在阅读Ansible文档,如Group vars doc,但没有find答案。

group_vars是否应该像这样工作?

是。

这是否可能是由于我在同一主机上安装了angular色?

是。 事实必然是主人,而不是群体。

这也意味着多个group_vars中定义的variables值将被覆盖。