2017-06-06 71 views
1

我有一個主機文件看起來大致是這樣的:得到一個特定的主機名的IP與ansible

[kibanamaster] 
efk host_ip host user passwd 
[elasticnode] 
esnode host_ip user passwd 

,我在

- name: get ip address node1 
    debug: var=hostvars[inventory_host]['esnode']['ansible_default_ipv4']['address'] 
    register: es_node1 

風格嘗試的東西,但是我得到的變量不定義。任何人都能夠幫助嗎?

編輯: 如果我做

debug: var=hostvars[LOG1]['esnode']['ansible_default_ipv4']['address'] 
register: node_1 

我得到

{"hostvars[LOG1]['ansible_default_ipv4']['address']": "VARIABLE IS NOT DEFINED!"}

回答

1

hostvarsmagic variable是用您的庫存主機命名的鍵的字典。

所以,你可能也想嘗試:

hostvars['esnode']['ansible_default_ipv4']['address'] 

得到esnode主機的IP地址。

+0

工作。謝謝。 – qubsup

+0

OK我收回它 - 它不起作用 - hostvars [LOG1] ['ansible_default_ipv4'] ['address']「:」VARIABLE is not defined!「 – qubsup

+0

LOG1是什麼? –