Ansible переменные приходят из разных источников. Например, можно предоставить host_vars и group_vars, создав файлы YAML в подпапке с именем host_vars
и group_vars
соответственно в папке, содержащей файл инвентаризации.
Как я могу перечислить все переменные, которые Ansible будет знать о группе или хосте внутри playbook? Примечание: я пытался ansible -m debug -e 'var=hostvars' host
и ansible -m debug -e '- debug: var=hostvars'
безрезультатно.
Подсказка: ansible <group|host> -m setup
это не правильный ответ, так как он не включает все переменные, поступающие из других источников (он содержит только { "ansible_facts" : { ... } }
. На самом деле он даже не включает переменные, предоставленные сценарием динамической инвентаризации (через _meta
и так далее).
Возможная версия: 1.9.1.
2.0.2
это, похоже, больше не работает. Выходные данныеlocalhost | 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
FYI: этот проект github показывает вам, как составить список 90% переменных на всех хостах. Я считаю это более полезным во всем мире, чем команды с одним хостом. README содержит инструкции по созданию простого инвентарного отчета. Еще более ценно запустить это в конце сборника, чтобы увидеть все факты. Для отладки поведения Задачи используйте регистр:
источник
Добавив небольшой совет к действительно хорошему ответу выше, если вы хотите программно возиться, вы можете
Используйте существующий ответ для hostvars :
Но ansible_facts пуст, потому
debug
что не запускаетsetup
модуль. Поэтому вам нужно попробовать что-то еще, например,jq
после обрезки вывода, чтобы сделать его действительным json.Я подумал, что люди могут найти это полезным, когда исследуют гигантскую стену текста, которая возвращается в виде явных фактов, когда вы просто хотите что-то вроде
jq .ansible_facts.ansible_devices.vda.size
источник