Ansible実行自体を自動化したい、でもsudoパスワードを対話入力したくない。
そんなときは、ansible_become_pass
変数にパスワードを設定する必要があります。
ただし、ansible.cfg
でbecome_ask_pass
がTrue
になっていると、パスワードを対話入力する必要があります。
この変数は残念ながら実行オプション--extra-vars
やその他ansible内で上書きしても効果がありません。
コマンド中に実行される__init__.py
の早い段階でこの変数が使われるためです。
パスワードを聞かれないようにするため、環境ごとにansible.cfg
を上書きしたり、
別のansible.cfg
を読み込ませる方法もありますが、
環境変数ANSIBLE_BECOME_ASK_PASS
を使って上書きする方法が簡単です。
ansible.cfg
の内容はほとんどが環境変数で上書きすることができます。
上書きできる変数の種類は今のところドキュメントがなく、
ソースコード(constants.py
)に書いてあるだけなので、必要な変数を探しましょう。
URLは以下です。
https://github.com/ansible/ansible/blob/devel/lib/ansible/constants.py
参考URL
ansible.cfgの公式ドキュメント