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.
