2016-05-13 33 views
-2

我在库存文件内的单独变量组内使用相同名称的变量。在Ansible库存中的单独组变量中使用相同的变量名称

例如:

###hosts file#### 
[GROUP1] 
var1 127.0.0.1 
var2 127.0.0.1 
[GROUP2] 
var1 127.1.0.1 
var2 127.1.0.1 

我想知道申请在GROUP2的VAR1我的剧本。我该怎么做 ? 例如:

- hosts: GROUP2.var1 
    become: root 
    gather_facts: no 
    remote_user: user 

回答

1

如果你想运行第二组的第一个主机上的剧本,你可以使用:

- hosts: {{groups.GROUP2[0]}} 
    become: root 
    gather_facts: no 
    remote_user: user 

只有一件事是VAR1也是一个主机或变量定义该主机?以上{{groups.group2[0]}}将指主机不可变。如果您想在任何任务中使用该变量,请使用{{ hostvars[groups['GROUP2'][0]].var1 }}

另外在主机文件中定义变量和主机的方法将是第一个主机然后是变量。

[GROUP1] 
127.0.0.1 var1=something 
127.0.0.1 var2=something2 
...... 
相关问题