So lassen sich Variablen in Ansible richtig nutzen

Mit Variablen in Ansible arbeiten

| Autor: Thomas Joos

Automatisierung im Rechenzentrum (Bild Pixybay, Marie1826)
Automatisierung im Rechenzentrum (Bild Pixybay, Marie1826) (Automatisierung im Rechenzentrum (Bild Pixybay, Marie1826))

Variablen werden im Automatisierungstool Ansible häufig dazu verwendet die Computer anzusprechen oder Aktionen auf ihnen durchzuführen. Dabei kann es immer wieder notwendig sein die Variablen zu verwalten oder abzufragen. Wir geben in diesem Beitrag einige Tipps.

Eine Liste aller ansible_ Variablen lassen sich durch die von Ansible gesammelten Daten der angebundenen Computer abfragen. Die angebundenen Computer lassen sich wiederum in Playbooks und Vorlagen nutzen. Um eine Liste aller Möglichkeiten zu sehen, die für eine Maschine verfügbar sind, kann das Modul "Setup" als Ad-hoc-Aktion ausgeführt werden:

ansible -m setup <hostname>

Der Befehl zeigt alle Informationen an, die für diesen Host verfügbar sind. Die Daten lassen sich auch weiterverwenden. So kann die Ausgabe des Befehls über ein Pipeline an einen Pager übergeben werden. 

Sollen alle für einen Host definierten Inventarisierungsvariablen angezeigt werden, kann das mit dem folgenden Befehl erfolgen:

ansible-inventory --list --yaml

Um alle hostspezifischen Variablen anzuzeigen, die Fakten und andere Quellen beinhalten können steht folgender Befehl zur Verfügung:

 

ansible -m debug -a "var=hostvars['hostname']" localhost

Ein weiteres Beispiel für Variablen ist:

{{ hostvars[inventory_hostname]['ansible_' + welche_Schnittstelle]['ipv4']['address'] }}}}}

"inventory_hostname" verwendet den aktuellen Host. In diesem Beispiel wird die IPv4-Adresse ausgegeben. Mehr dazu ist