てくなべ (tekunabe)

ansible / network / automation

[Ansible] デフォルトから変更されている設定項目を確認する方法(ansible-config dump --only-changed)

はじめに

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)


事前確認

$ pwd
/home/vagrant
$ echo $ANSIBLE_PERSISTENT_CONNECT_TIMEOUT
45
$ cat ./ansible.cfg
[defaults]
retry_files_enabled = False
host_key_checking = False

ansible-config dump --only-changed 実行結果

f:id:akira6592:20190208170445p:plain

このように、どこのファイル、変数でどのように変更されているかが表示されます。


--only-changed なしの場合はすべて表示

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

f:id:akira6592:20190208170725p:plain


参考