甚至可以在为其他组运行游戏时引用组变量吗?
我有一个类似的具体案例:
的/ etc / ansible /主机
[group1]
server1.test.org
[group2]
server2.test.com
[group2:vars]
foo=bar
为group1运行游戏
- name: test variables...
hosts: group1
gather_facts: no
tasks:
- debug: msg="foo={{ groups[group2].foo }}"
它不起作用,我尝试了其他语法变体但没有成功。
答案 0 :(得分:1)
当库存初始化时,这些组实际上没有为它们定义变量。主机获得为组变量定义的内容的副本。所以要做你想做的事,你需要从主机上读取。试试这个:
- name: test variables...
hosts: group1
gather_facts: no
tasks:
- debug: msg="foo={{ hostvars[groups['group2'][0]].foo }}"