はじめに
Ansible Playbookを書く際には、対象ホストのFactsをもとに、when句でTaskを分岐させることが多いと思います。
具体的にホスト上でどのようなFacts情報が取れるか確認しながらPlaybookを書いていきますが、Factを取得する方法を忘れがちなのでメモします。
コマンド
対象ホストにログインしたのち、下記コマンドを実行することでFactsを取得できます
$ ansible localhost -m setup
localhost | SUCCESS => {
"ansible_facts": {
"ansible_all_ipv4_addresses": [
"192.168.255.21",
"10.0.2.15"
],
"ansible_all_ipv6_addresses": [
"fe80::a00:27ff:fe6a:71b1",
"fe80::a00:27ff:feb9:8245"
],
"ansible_apparmor": {
"status": "disabled"
},
# ※以降省略
補足
上記コマンドは、第1引数で指定するホストパターンに対して、「setup」モジュールを実行する、という意味になります。
「setup」モジュールのドキュメントは下記にあります。
setup – Gathers facts about remote hosts — Ansible Documentation
https://docs.ansible.com/ansible/latest/modules/setup_module.html