2017-06-09 4 views
-1

私は2つの役割を呼び出すことができるプレイブックを持っています。 role 1はローカルで実行され、argにはファイルパス/tmp/inputfile/input.csvというスクリプトがあります。脚本はなります不可能なローカル接続スクリプトの引数パスが検出できませんでした

- hosts: "{{my_extra_var_IP}}" 
    connection: local 
    roles: 
    - prereq 

役割タスク:

- name: Copy script to local 
    copy: 
    src: files/csv_to_files.sh 
    dest: /tmp/input_dir/ 
    mode: 0777 

- command: ls -ltr /tmp/input_dir 

- command: cat /tmp/input_dir/inputFile.csv 

#- name: run csv to yml script 
# script: /tmp/input_dir/csv_to_files.sh /tmp/input_dir/inputFile.csv 
# become_user: niceha 

最初の2つのタスクの出力が成功であると予想されるが、私はエラーを取得する第三&第四段階にされる:

FAILED! => {"changed": true, "cmd": ["cat", "/tmp/input_dir/inputFile.csv"], "delta": "0:00:00.007141", "end": "2017-06-09 15:53:58.673450", "failed": true, "rc": 1, "start": "2017-06-09 15:53:58.666309", "stderr": "cat: /tmp/input_dir/inputFile.csv: No such file or directory", "stdout": "", "stdout_lines": [], "warnings": []} 

私はuserAを使用しているタワーからこの仕事をしていますが、私もユーザーを変えようとしましたが、運はありませんでした。

+1

質問に投稿したコードに基づいて、 'cat/tmp/input_dir/inputFile.csv'コマンドが動作する理由はありません。そのファイルは作成されないので、存在しません。明らかです。 – techraf

答えて

0

インデントが正しく表示されません:

- name: Copy script to local 
    copy: 
    src: files/csv_to_files.sh 
    dest: /tmp/input_dir/ 
    mode: 0777 
+0

インデントはstackoverflowに貼り付ける際にこのようになっています。私はAnabilities-towerサーバーからプレイブックを実行していますが、エラーが出るだけです。私がサーバーコンソールから実行してもうまく動くのと同じプレイブック。 – Niceha

+0

OK - ポストのインデントを修正する方法を教えてください。私は自分の答えを削除します! – Jack

0

[OK]をクリックします。だから多くの読書の後、私はコードがコンソールから実行されているが、Anipalのタワーからは実行されていないことを知る必要があり、それを他のディレクトリパスから機能するようにクロスチェックする。 潜在的なタワーは実際にステージングエリアとして/ tmp/dirを使用するので、tmpディレクトリで実行されるプレイブックで言及された変更やタスクは有効になりません。

入力ファイルのパスを/ tmpから/ home/userに変更すると、私の仕事ができました。

関連する問題