2016-09-26 8 views
1

私は私の構造を持っている:私はrds_read_replica_ops.pyを実行する必要がローカルホストを経由してからPythonスクリプトを実行することができませんでしansible

playbooks_only 
    | 
    |- read_replica_boto3.yml 
    |- roles 
     | 
     |-read_replica_boto3 
       |-defaults 
       |-tasks-->> main.yml      
       |-files-->> - rds_read_replica_ops.py 
          - sample.yml 

、私は次のように書いた:

- name: Create a cross-region replica using boto3 script 
    command: python rds_read_replica_ops.py sample.yml 
    args: 
    chdir: '"{{ role_path }}"/files' 

しかし、この缶「Tはファイルを見つけると言う:

sg: cannot change to directory '/home/blah/recovery/playbooks_only/"/home/blah/recovery/playbooks_only/roles/read_replica_boto3"/files': path does not exist 

FATAL: all hosts have already failed -- aborting 
+1

この行を変更してみてください: 'chdir: '{{role_path}}/files'' – vabada

+0

どういう意味ですか?私はそこに置くべきですか? – Kittystone

+1

二重引用符を削除する '' {{role_path}} ' – vabada

答えて

2

あなたがこの行にタイプミスがあります

chdir: '"{{ role_path }}"/files' 

変数を引用符で囲むべきではありません。代わりに、行を次のように変更してください。

chdir: '{{ role_path }}/files' 

これで問題はありません。

+0

ちょっといいよ、ちょっと質問があるよ。私のpythonスクリプトが実行されるのを待つべきだよ – Kittystone

+0

私はあなたは何を意味するのか理解していますが、このタスクは 'ファイル'ディレクトリに 'cd'してファイルを実行し、終了するまで待つ – vabada

+0

はい、それから私はdefault/main.ymlからファイルにマッピングされた変数/sample.yml – Kittystone

関連する問題