I'm using ansible v2.3.2.0. How come I still can't use git repos for role
dependencies in a role's meta/main.xml file? I'm using the OP's syntax.
dependencies:
- { role: 'git+http://git.example.com/repos/role-foo.git
<http://git.example.com/repos/role-foo,v1.1,foo>'}
or
dependencies:
- { role: 'git+ssh://git.example.com:9999/repos/role-foo,v1.1,foo
<http://git.example.com/repos/role-foo,v1.1,foo>' }
On Thursday, September 18, 2014 at 11:36:36 AM UTC-4, Vincent Jestin wrote:
>
> Ok, thank you.
>
> I will wait for the 1.8 to be released then...
>
> Le jeudi 18 septembre 2014 15:19:52 UTC+2, James Cammarata a écrit :
>>
>> 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/3e244c7c-c11e-4650-bf68-bee50ad8d393%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.