访问属于另一个组的角色的模板文件中的组变量

Nan*_*oor 0 ansible ansible-inventory

库存文件:

[1]
IP

[2]
IP

[1:vars]
foo=test
Run Code Online (Sandbox Code Playgroud)

如何访问foo将在组[2]上执行的角色变量?

tec*_*raf 8

首先,您不能使用单个数字命名主机组,因此请修复清单文件:

[group1]
IP1

[group2]
IP2

[group1:vars]
foo=test
Run Code Online (Sandbox Code Playgroud)

然后在运行时group2,要访问为其定义的变量group1,请使用以下构造:

- debug:
    var: hostvars[groups['group1'][0]]['foo']
Run Code Online (Sandbox Code Playgroud)

一般来说,我会尽量避免这样的引用.