Variabel yang mungkin berasal dari berbagai sumber. Sebagai contoh adalah mungkin untuk menyediakan host_vars dan group_vars dengan membuat file YAML dalam subfolder bernama host_vars
dan group_vars
masing-masing folder yang berisi file inventaris.
Bagaimana saya bisa membuat daftar semua variabel Ansible akan tahu tentang grup atau host di dalam buku pedoman? Catatan: Saya mencoba ansible -m debug -e 'var=hostvars' host
dan ansible -m debug -e '- debug: var=hostvars'
tidak berhasil.
Petunjuk: ansible <group|host> -m setup
adalah tidak jawaban yang benar seperti itu tidak mencakup semua variabel yang berasal dari sumber-sumber lain (hanya berisi { "ansible_facts" : { ... } }
Bahkan itu bahkan tidak termasuk variabel yang disediakan oleh script persediaan dinamis (melalui. _meta
Dan sebagainya).
Versi yang memungkinkan: 1.9.1.
2.0.2
, ini sepertinya tidak berfungsi lagi. Outputnya adalahlocalhost | SUCCESS => { "hostvars": "<ansible.vars.hostvars.HostVars object at 0x7f320943da10>" }
"var=hostvars[inventory_hostname]"
pada> 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: Ini proyek github menunjukkan Anda bagaimana untuk daftar 90% dari variabel di semua host. Saya merasa lebih bermanfaat secara global daripada perintah host tunggal. README mencakup instruksi untuk membuat laporan inventaris sederhana. Bahkan lebih berharga untuk menjalankan ini di akhir buku pedoman untuk melihat semua Fakta. Untuk juga men-debug perilaku Tugas menggunakan daftar:
sumber
Menambahkan tip kecil ke jawaban yang benar-benar bagus di atas, jika Anda ingin melihat-lihat secara terprogram Anda bisa
Gunakan jawaban yang ada untuk hostvars :
Tetapi ansible_facts kosong karena
debug
tidak menjalankansetup
modul. Jadi Anda perlu mencoba sesuatu yang ekstra sepertijq
setelah memangkas output agar json valid.Saya pikir orang mungkin menemukan ini berguna ketika menyelidiki dinding raksasa teks yang kembali pada fakta yang memungkinkan ketika Anda hanya ingin satu hal
jq .ansible_facts.ansible_devices.vda.size
sumber