2016-11-28 3 views
-1

내 플레이 북에이 비트가 있습니다.전화 번호부 역할에 대한 dir 매개 변수

roles: 
    - {role: cleanup-create, dir: '/standard/', commit: "{{choice}}"} 

파일 구조는

/roles/standard/cleanup-create/tasks/main.yml입니다 그럼에도 불구하고이 오류가 나타납니다

ERROR! the role 'cleanup-create' was not found in /home/myuser/network-ansible-myuser/roles:/home/myuser/network-ansible-myuser:/etc/ansible/roles 

The error appears to have been in '/home/myuser/network-ansible-myuser/configure-files.yml': line 15, column 5, but may 
be elsewhere in the file depending on the exact syntax problem. 

The offending line appears to be: 

    roles: 
    - {role: cleanup-create, dir: '/standard', commit: "{{choice}}"} 
    ^here 

지금, 오류 메시지가 보인다을 내 역할이/역할에서 발견되지 않았다는 것을 말하십시오. 그러나 dir 매개 변수는/roles/standard 아래에 있어야합니다.

5 분 전에 작동했습니다. 맹세코!

답변

0

역할에 대한 특수 매개 변수는 dir입니다.
예를 들어 commit과 같은 일반 변수 일뿐입니다.

모든 역할을 중첩하지 않고 ./roles 폴더에 직접 배치해야합니다. 당신은 실제로 ansible.cfg에서 roles_pathconfiguration variable 설정할 수 있습니다

+0

의 역할을 찾기 위해 여러 디렉토리를 지정할 수 있습니다. 어쩌면 잘못된 출력을 살펴 보았을 것입니다. – Quake

0

(또는 어쩌면 pass it in the command line이 - 당신이 roles_path이 할 수 있다면 그것을 시도, 나는 확실하지 않다). 다큐먼트에서

: 각본 디렉토리에서

The roles path indicate additional directories beyond the roles/ subdirectory of a playbook project to search to find Ansible roles

./roles 먼저 검색됩니다은 추가적인 경로가 확인됩니다.

당신은 내가 그것을 작동하게 맹세 할 수

roles_path=/var/opt/my_roles:/var/opt/more_roles