2016-05-18 43 views
0

甚至可以在爲其他組運行播放時引用組變量?如何在模板中使用Ansible庫存變量

我有一個特定的情況下,這樣的:

的/ etc/ansible /主機

[group1] 
server1.test.org 

[group2] 
server2.test.com 

[group2:vars] 
foo=bar 

運行發揮了1組

- name: test variables... 
    hosts: group1 
    gather_facts: no 
    tasks: 
     - debug: msg="foo={{ groups[group2].foo }}" 

它不工作,我已經嘗試過其他語法變體沒有成功。

回答

0

當庫存初始化時,這些組實際上沒有爲它們定義變量。主機獲得組變量定義的副本。所以要做你想做的事情,你需要從主機讀取。試試這個:

- name: test variables... 
    hosts: group1 
    gather_facts: no 
    tasks: 
    - debug: msg="foo={{ hostvars[groups['group2'][0]].foo }}" 
+0

它的工作原理!謝謝[Petro026](http://stackoverflow.com/users/2847921/petro026) –

相關問題