2017-06-06 70 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是什么? –