マシンAからマシンBにファイルをコピーする必要がありますが、すべてのansibleタスクを実行する場所からの制御マシンはマシンC(ローカルマシン)です。
私は以下を試しました:
ansibleのシェルモジュールでscpコマンドを使用する
hosts: machine2
user: user2
tasks:
- name: Copy file from machine1 to machine2
shell: scp user1@machine1:/path-of-file/file1 /home/user2/file1
このアプローチは続くだけで終わりません。
フェッチ&コピーモジュールを使用する
hosts: machine1
user: user1
tasks:
- name: copy file from machine1 to local
fetch: src=/path-of-file/file1 dest=/path-of-file/file1
hosts: machine2
user: user2
tasks:
- name: copy file from local to machine2
copy: src=/path-of-file/file1 dest=/path-of-file/file1
このアプローチでは、次のようなエラーが発生します。
error while accessing the file /Users/<myusername>/.ansible/cp/ansible-ssh-machine2-22-<myusername>, error was: [Errno 102] Operation not supported on socket: u'/Users/<myusername>/.ansible/cp/ansible-ssh-machine2-22-<myusername>'
どんな提案も参考になります。