2016-09-26 2 views
1

나는 나의 구조를 가지고 :에서 파이썬 스크립트를 실행할 수 없습니다 로컬 호스트를 통해 ansible

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

그러나이 수 : 나는 rds_read_replica_ops.py를 실행해야

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

, 난 다음 썼다 '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

좋은 점이 더 많다. 파이썬 스크립트가 실행될 때까지 기다려야 만한다. – Kittystone

+0

나는 잘 모르겠다. 무슨 뜻인지 이해하지만,이 작업은'files' 디렉토리에'cd'를 실행하고, 파일을 실행하고, 완료 될 때까지 기다립니다. – vabada

+0

예 그렇지만 default/main.yml에서 파일로 매핑 한 변수는 표시되지 않습니다 /sample.yml – Kittystone