Zugriff auf Inventar-host-variable in ansible playbook
Ich bin mit ansible 2.1. Ich habe Folgendes inventory host-Datei und eine Rolle nennt ein Spiel, der benötigt Zugriff auf die host-Datei variable. Irgendwelche Gedanken auf, wie man darauf zugreifen (derzeit immer eine Fehlermeldung):
host-Datei
[test1]
test-1 ansible_ssh_host=abc.def.ghi.jkl ansible_ssh_port=1212
[test2]
test2-1 ansible_ssh_host=abc.def.ghi.mno ansible_ssh_port=1212
[test3]
test3-1 ansible_ssh_host=abc.def.ghi.pqr ansible_ssh_port=1212
test3-2 ansible_ssh_host=abc.def.ghi.stu ansible_ssh_port=1212
[all:children]
test1
test2
test3
Rolle
Ich habe versucht, den Zugriff auf die Rolle in der folgenden Moden:
{{ hostvars.ansible_ssh_host }}
&&
{{ hostvars.test1.ansible_ssh_host }}
Ich versuche, Zugriff auf die ansible_ssh_host in der test1 Abschnitt.
Fehler
fatal: [localhost]: FAILED! => {"failed": true, "msg": "'ansible.vars.hostvars.HostVars object' has no attribute 'ansible'"}
InformationsquelleAutor der Frage ali haider | 2016-10-13
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sind Sie auf dem richtigen Weg zu
hostvars
.Diese Magische variable wird verwendet, um den Zugang zu Informationen über andere hosts.
hostvars
ist ein hash mit Inventar Hostnamen als Schlüssel.Zugriff auf Felder von jedem host, verwenden
hostvars['test-1']
,hostvars['test2-1']
usw.ansible_ssh_host
ist veraltet zu Gunsten vonansible_host
seit 2.0.So sollten Sie zunächst entfernen "_ssh" aus dem Inventar hosts Argumente (d.h. zu "ansible_user", "ansible_host" und "ansible_port"), dann in Ihrer Rolle nennen es mit:
InformationsquelleAutor der Antwort Konstantin Suvorov
Können Sie Zugriff auf host-Gruppe vars mit:
Wenn Sie einen bestimmten Wert aus bestimmten host, die Sie verwenden können:
InformationsquelleAutor der Antwort Eduardo Cuomo
Sollten Sie in der Lage sein, verwenden Sie den Variablennamen direkt
Oder Sie können gehen durch hostvars ohne Angabe von host-buchstäblich
mithilfe der Magische variable
inventory_hostname
InformationsquelleAutor der Antwort Jason S