2017-06-06 2 views
1

J'ai un fichier hôte qui ressemble à peu près comme ceci:obtenir l'IP d'un nom d'hôte particulier ansible

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

et je suis en train quelque chose dans le style de

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

Mais je reçois variable ne défini. Quelqu'un peut-il aider?

EDIT: Si je

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

Je reçois

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

Répondre

1

hostvarsmagic variable est un dictionnaire avec les touches portant le nom des hôtes dans votre inventaire.

Vous pouvez essayer: pour obtenir l'adresse IP de esnode hôte

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

.

+0

Cela fonctionne. Je vous remercie. – qubsup

+0

OK Je le reprends - ça ne marche pas - hostvars [LOG1] ['ansible_default_ipv4'] ['address'] ":" VARIABLE N'EST PAS DÉFINIE! " – qubsup

+0

Qu'est-ce que" LOG1 "ici? –