Les variables possibles proviennent de diverses sources. Il est par exemple possible de fournir host_vars et group_vars en créant des fichiers YAML dans un sous-dossier nommé host_vars
et group_vars
respectivement du dossier contenant le fichier d'inventaire.
Comment puis - je énumérer toutes les variables Ansible se connaître sur un groupe ou un hôte dans un livre de jeux? Remarque: j'ai essayé ansible -m debug -e 'var=hostvars' host
et ansible -m debug -e '- debug: var=hostvars'
en vain.
Astuce: ansible <group|host> -m setup
n'est pas la bonne réponse car elle n'inclut pas toutes les variables qui proviennent d'autres sources (elle ne contient que { "ansible_facts" : { ... } }
. En fait, elle n'inclut même pas les variables fournies par un script d'inventaire dynamique (via _meta
et ainsi de suite).
Version Ansible: 1.9.1.
2.0.2
, cela ne semble plus fonctionner. La sortie estlocalhost | SUCCESS => { "hostvars": "<ansible.vars.hostvars.HostVars object at 0x7f320943da10>" }
"var=hostvars[inventory_hostname]"
Modification suggérée à utiliser sur 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
FYI: Ce projet github vous montre comment lister 90% des variables sur tous les hôtes. Je le trouve plus utile à l'échelle mondiale que les commandes d'hôte unique. Le fichier README comprend des instructions pour créer un rapport d'inventaire simple. Il est encore plus utile de l'exécuter à la fin d'un manuel pour voir tous les faits. Pour déboguer également le comportement de la tâche, utilisez le registre:
la source
En ajoutant un petit conseil à la très bonne réponse ci-dessus, si vous voulez fouiller par programme, vous pouvez
Utilisez la réponse existante pour les hostvars :
Mais ansible_facts est vide car
debug
ne lance pas lesetup
module. Vous devez donc essayer quelque chose de plus commejq
après avoir coupé la sortie pour la rendre valide json.Je pensais que les gens pourraient trouver cela utile lorsqu'ils enquêtent sur le mur de texte géant qui revient dans des faits ansibles lorsque vous voulez juste une chose comme
jq .ansible_facts.ansible_devices.vda.size
la source