2016-10-29 15 views
1

リモートサーバー上に特定のディレクトリが存在することを確認し、ファイルをそこにコピーすることを確実にするAnsibleジョブがあります。パスワードを要求する可能性のあるジョブ

--- 
- hosts: cac 
    tasks: 
    - name: Create Required directories. 
    file: path=/opt/app/ca/{{ item }} state=directory mode=0755 owner=admin group=admin 
    with_items: 
    - cac/webapps 
    - cac/iam_config 

    - name: Copy and unarchive webapps node. 
    synchronize: src=/home/ansible/templates/app/Sprint6/webapps dest=/opt/app/ca/iam_cac checksum=yes 

マイenvironmnetファイルは次のとおりです。

[cac] 
10.169.99.70 
10.169.99.72 
[cac:vars] 
ansible_ssh_user=admin 
ansible_ssh_pass=xyz 

私は仕事を実行すると、デバッグモードでは、私はタスク1は、adminユーザーとして実行され、パスワードが私から促されていないことがわかります。

しかし、2番目のタスクでは管理者パスワードを求められます。

TASK [Copy and unarchive webapps node.] **************************************** 
task path: /home/ansible/playbooks/release-deploy.yaml:10 
<10.169.99.70> ESTABLISH LOCAL CONNECTION FOR USER: ansible 
<10.169.99.70> EXEC /bin/sh -c '(umask 77 && mkdir -p "` echo $HOME/.ansible/tmp/ansible-tmp-1477753023.09-93847262523946 `" && echo ansible-tmp-1477753023.09-93847262523946="` echo $HOME/.ansible/tmp/ansible-tmp-1477753023.09-93847262523946 `") && sleep 0' 
<10.169.99.72> ESTABLISH LOCAL CONNECTION FOR USER: ansible 
<10.169.99.72> EXEC /bin/sh -c '(umask 77 && mkdir -p "` echo $HOME/.ansible/tmp/ansible-tmp-1477753023.09-27220657560306 `" && echo ansible-tmp-1477753023.09-27220657560306="` echo $HOME/.ansible/tmp/ansible-tmp-1477753023.09-27220657560306 `") && sleep 0' 
<10.169.99.70> PUT /tmp/tmpBP7rLm TO /home/ansible/.ansible/tmp/ansible-tmp-1477753023.09-93847262523946/synchronize 
<10.169.99.72> PUT /tmp/tmpVKR5A9 TO /home/ansible/.ansible/tmp/ansible-tmp-1477753023.09-27220657560306/synchronize 
<10.169.99.70> EXEC /bin/sh -c 'LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8 /usr/bin/python /home/ansible/.ansible/tmp/ansible-tmp-1477753023.09-93847262523946/synchronize; rm -rf "/home/ansible/.ansible/tmp/ansible-tmp-1477753023.09-93847262523946/" > /dev/null 2>&1 && sleep 0' 
<10.169.99.72> EXEC /bin/sh -c 'LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8 /usr/bin/python /home/ansible/.ansible/tmp/ansible-tmp-1477753023.09-27220657560306/synchronize; rm -rf "/home/ansible/.ansible/tmp/ansible-tmp-1477753023.09-27220657560306/" > /dev/null 2>&1 && sleep 0' 
[email protected]'s password: [email protected]'s password: 

この手順で私の環境ファイルでパスワードを設定する必要があるのはなぜか分かりません。

次に、なぜそれは言うのですか?

ESTABLISH LOCAL CONNECTION FOR USER: ansible 

答えて

3

synchronize module doc pageでの最初の文は、あなたの2番目の質問(なぜそれがESTABLISH LOCAL CONNECTION FOR USER: ansible:と言っていますか?

synchronizeに答えてrsyncを使って一般的なタスクを容易にするためのもの、rsyncコマンドのラッパです。それはあります

最初の質問については、同じマニュアルのパラメータセクションでは、次の引数を使用する必要があることが説明されています。

use_ssh_args (デフォルト:no) ansible.cfgで指定ssh_argsを使用してください。

ansible.cfgのみを参照していますが、インベントリファイルで定義されている変数も参照します。

関連する問題