はじめに
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
だけでコマンドを実行すると、すべての設定項目が表示されます。
ドキュメントに頼らず「デフォルト値はどうなっているだっけ?」と調べるときに便利です。デフォルトのままの設定項目は緑色、変更箇所は黄色で表示されます。