Hi Vincent,

Right now, you can install roles and dependencies via the ansible-galaxy
command, however when those roles are executed via ansible-playbook, they
need to be local. So I would recommend installing them first via the
ansible-galaxy command. If you're not familiar with it, please see this
documentation page on how to install roles directly from git repositories:

http://docs.ansible.com/galaxy.html#advanced-control-over-role-requirements-files

Thanks!

On Thu, Sep 18, 2014 at 4:45 AM, Vincent Jestin <[email protected]>
wrote:

> Hello,
>
> This might be a dummy question but I'm stuck with role dependency
> definition in ansible.
>
> I'd like to use a role defined in a git repository as a dependency for
> another role. In the doc <http://docs.ansible.com/playbooks_roles.html> I
> can see that:
>
> Role dependencies can also be installed from source control repos or tar
>> files, using a comma separated format of path, an optional version (tag,
>> commit, branch etc) and optional friendly role name (an attempt is made to
>> derive a role name from the repo name or archive filename):
>>
>> ---
>> dependencies:
>> - { role: 'git+http://git.example.com/repos/role-foo,v1.1,foo' }
>> - { role: '/path/to/tar/file.tgz,,friendly-name' }
>>
>>
> I tried with a public github repo, let say something like
> https://github.com/myuser/my-role-test.git
>
> I put this in the meta/main.yml file:
>
> dependencies:
>>
>>   - { role: 'git+https://github.com/myuser
>> /my-role-test.git,master,test-dep' }
>>
>>
> Then I run my playbook, and I get the following error:
>
> ERROR: cannot find role in
>> /var/lib/awx/projects/_1__myproject/roles/git+https:/
>> github.com/myuser/test.git,master,test-dep or /var/lib/awx/projects/
>> _1__myproject/git+https:/github.com/myuser/test.git,master,test-dep or
>> /etc/ansible/roles/git+https:/github.com/myuser/test.git,master,test-dep
>
>
> (Here you can guess I'm using tower. But for the purpose of this issue,
> I'm trying to run the playbook directly with ansible-playbook command.)
>
> When I see this error message, I guess that the git url is just parsed
> like a directory structure. I've tried several url format like git@,
> git+ssh://, ssh://... No success.
>
> So I had a look at ansible source code to figure out how the role value
> was parsed (play.py). I'm not a python expert however I can just see
> a _get_role_path method dealing exclusively with filesystem path stuff.
>
> Is this "role dependency from git repo" feature real?
>
> On the other side I can see this recent thread
> <https://groups.google.com/forum/#!msg/ansible-project/TawjChwaV08/3p6Zv24rMWgJ>
> with famous people here talking about this feature...
>
> I'm probably missing something. Can someone help?
>
> Thank you!
>
> --
> You received this message because you are subscribed to the Google Groups
> "Ansible Project" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To post to this group, send email to [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/ansible-project/5964e584-6f1f-43fa-b211-188deaf02819%40googlegroups.com
> <https://groups.google.com/d/msgid/ansible-project/5964e584-6f1f-43fa-b211-188deaf02819%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/CAMFyvFgYCW3SYJSKe78eQT3%2BhtpbEWYXQG-OchvFb%2B40FJf_qg%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to