你好,我的库存是这样的
host1:
machine1
host2:
machine1 var=x
machine2 var=y
我的剧本是这样的,无法正常工作
---
- hosts: host2
name: gather facts from host2
tasks: []
- hosts: host1
tasks:
- name: Run command
command: echo"{{ hostvars['host2']['var'] }}"
#Also, I tried this "{{ hostvars.host2.var }}"
我需要在第二局中传递x和y,Ansible提供未定义的变量。我该怎么办?
答案 0 :(得分:2)
具有讽刺意味的是,我们有这个确切的same question yesterday:
这是因为host1
不是主机,它是一个组,因此不在 host 变量中。如果您只要求{{ var }}
,则该任务在x
上进行评估,而在machine1
上进行y
评估时,其值为machine2
。您当然可以在machine1
上通过var
索取machine2
的{{1}}的值,就像您尝试过的那样