はじめに
Ansible 2.4 以上には ansible-config という、設定項目を表示するコマンドがあります。
ansible-config dump --only-changed のように、dumpサブコマンドと --only-changed オプションを付けて実行すると、デフォルトから変更されている設定項目のみを表示できます。
Ansible では、[ansible.cfg] ファイルや環境変数など、複数の場所で設定変更ができるため、どこでどのような設定変更をしているか分かりにくくなることがあります。このような場合に ansible-config dump --only-changed が便利です。
実行例をご紹介します。(動作確認環境: Ansible 2.7.7)
事前確認
- 環境変数で、
PERSISTENT_CONNECT_TIMEOUTを変更済み。(デフォルト: 30)
$ pwd /home/vagrant $ echo $ANSIBLE_PERSISTENT_CONNECT_TIMEOUT 45
- カレントディレクトリの
ansible.cfgで、RETRY_FILES_ENABLEDと、HOST_KEY_CHECKINGを無効化済み。(デフォルト: 有効)
$ cat ./ansible.cfg [defaults] retry_files_enabled = False host_key_checking = False
ansible-config dump --only-changed 実行結果

このように、どこのファイル、変数でどのように変更されているかが表示されます。
--only-changed なしの場合はすべて表示
--only-changed オプションなしで、単に ansible-config dump だけでコマンドを実行すると、すべての設定項目が表示されます。
ドキュメントに頼らず「デフォルト値はどうなっているだっけ?」と調べるときに便利です。デフォルトのままの設定項目は緑色、変更箇所は黄色で表示されます。
