1
私の問題は、環境として設定されるべきdictを渡すことによって、プレイブック全体の環境を設定できないということです。それは可能ですか?例えば環境辞書に渡された不可能なプレイブック環境を定義する方法
が、ここで私のサンプルansible脚本です:
- hosts: localhost
vars:
env_vars: "{{ PLAY_ENVS }}"
environment: "{{ env_vars }}"
tasks:
- name: Here is what you passed in
debug: msg="env_vars == {{ env_vars }}"
- name: What is FAKE_ENV
debug: msg="FAKE_ENV == {{ lookup('env', 'FAKE_ENV') }}"
そして私は、コマンドを渡している:
/bin/ansible-playbook sample_playbook.yml --extra-vars '{PLAY_ENVS: {"FAKE_ENV":"/path/to/fake/destination"}}'
私は取得しています応答は以下の通りです:
PLAY [localhost] ***************************************************************
TASK [setup] *******************************************************************
ok: [localhost]
TASK [Here is what you passed in] **********************************************
ok: [localhost] => {
"msg": "env_vars == {u'FAKE_ENV': u'/path/to/fake/destination'}"
}
TASK [What is FAKE_ENV] ********************************************************
ok: [localhost] => {
"msg": "FAKE_ENV == "
}
PLAY RECAP *********************************************************************
localhost : ok=3 changed=0 unreachable=0 failed=0
「FAKE_ENV」が環境内に設定されていないことがわかります。私は間違って何をしていますか?
を、私は今それを確認することはできませんが、検索プラグインと 'DEBUG'モジュールそれをテストする最良の方法ではないかもしれません。別のターゲットに対しては、接続を確立することさえできませんが、ローカルホストのショートカットにも続きます。 「実際の」アクションモジュールの結果を登録してみることはできますか?たとえば 'content'で' copy'を実行し、ファイルの内容を確認します。 – techraf