2016-05-13 55 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 
...... 
相關問題