我正在使用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色webproxy , database和application 。
由于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值将被覆盖。