库存文件:
[1]
IP
[2]
IP
[1:vars]
foo=test
如何访问将在组[2]上执行的角色中的变量foo
?
答案 0 :(得分:8)
首先,您无法使用单个数字命名主机组,因此请修复清单文件:
[group1]
IP1
[group2]
IP2
[group1:vars]
foo=test
然后,当针对group2
运行时,要访问为group1
定义的变量,请使用以下构造:
- debug:
var: hostvars[groups['group1'][0]]['foo']
一般来说,我会尽量避免这样的引用。
答案 1 :(得分:1)
变量来自哪里(库存,剧本,额外内容)并不重要,您可以通过名称访问它,例如:
- debug:
msg: "{{ foo }}"
如果在多个地方定义了具有相同名称的变量,则优先级较高的变量会获胜(参见docs)。