はじめに
Ansible 2.5 から facts は ansible_facts.* という名前空間配下でも参照可能になりました。
例
ansilbe_distribution
であればansible_facts.distribution
でも参照可能
ansilbe_nodename
であればansible_facts.nodename
でも参照可能
そのため、ansible_facts
を参照すると、配下の facts の一覧を取得できます。
サンプル Playbook
- hosts: webservers gather_facts: yes tasks: - name: facts debug: msg: "{{ ansible_facts }}"
実行結果
$ ansible-playbook -i inventory junos_test.yml --tag=d PLAY [webservers] *************************************************** TASK [Gathering Facts] ******************************************************* ok: [172.16.0.1] TASK [facts list] ************************************************************ ok: [172.16.0.1] => { "msg": { "all_ipv4_addresses": [ "172.17.0.1", "172.16.0.9", "10.0.2.15" ], "all_ipv6_addresses": [ "fe80::42:75ff:fe85:****", "fe80::a00:27ff:fe74:****", "fe80::5054:ff:feda:****" ], "ansible_local": {}, "apparmor": { "status": "disabled" }, "architecture": "x86_64", "bios_date": "12/01/2006", "bios_version": "VirtualBox", (略) "userspace_bits": "64", "virtualization_role": "guest", "virtualization_type": "virtualbox" } } PLAY RECAP ***************************************************************** 172.16.0.1 : ok=2 changed=0 unreachable=0 failed=0
まとめ
既存の ansible_
というプレフィックよりも ansible_facts
という名前空間で整理されているほうが、まとめて処理がしやすいので使いやすいと感じました。
- 参考リンク