Ansible Variablen kommen aus verschiedenen Quellen. Es ist zum Beispiel möglich , host_vars und group_vars zu schaffen , durch YAML - Dateien in einem Unterordner mit dem Namen Erstellen host_vars
und group_vars
jeweils des Ordners mit der Inventardatei enthält.
Wie kann ich alle Variablen auflisten, die Ansible über eine Gruppe oder einen Host in einem Playbook wissen würde ? Hinweis: Ich habe es versucht ansible -m debug -e 'var=hostvars' host
und ansible -m debug -e '- debug: var=hostvars'
ohne Erfolg.
Hinweis: ansible <group|host> -m setup
ist nicht die richtige Antwort, da sie nicht alle Variablen enthält, die aus anderen Quellen stammen (sie enthält nur { "ansible_facts" : { ... } }
Variablen _meta
).
Ansible Version: 1.9.1.
2.0.2
scheint das nicht mehr zu funktionieren. Die Ausgabe istlocalhost | SUCCESS => { "hostvars": "<ansible.vars.hostvars.HostVars object at 0x7f320943da10>" }
"var=hostvars[inventory_hostname]"
ansible> 2.0ansible my.hostname.example.com -m setup -i ../my/inventory/hosts.example -u root
ansible host-name -m debug -a "var=[var_name]" -i inventory/testing/hosts
Zu Ihrer Information : Dieses Github-Projekt zeigt Ihnen, wie Sie 90% der Variablen auf allen Hosts auflisten. Ich finde es global nützlicher als einzelne Host-Befehle. Die README-Datei enthält Anweisungen zum Erstellen eines einfachen Inventarberichts. Es ist sogar noch wertvoller, dies am Ende eines Playbooks auszuführen, um alle Fakten zu sehen. Verwenden Sie register, um auch das Verhalten von Tasks zu debuggen:
quelle
Fügen Sie der wirklich guten Antwort oben einen kleinen Tipp hinzu, wenn Sie programmatisch herumstöbern möchten
Verwenden Sie die vorhandene Antwort für Hostvars :
Aber ansible_facts ist leer , weil
debug
nicht das läuftsetup
Modul. Sie müssen alsojq
nach dem Trimmen der Ausgabe etwas Besonderes ausprobieren , um sie für json gültig zu machen.Ich dachte, dass die Leute dies nützlich finden könnten, wenn sie die riesige Textwand untersuchen, die in ansiblen Fakten wieder auftaucht, wenn Sie nur eine Sache wie wollen
jq .ansible_facts.ansible_devices.vda.size
quelle