On 26/06/14 17:59, Michael DeHaan wrote:
> "Would be great to have a magic variable to obtain the path to roles
> tasks, to allow for things like:"
>
> I feel it would be pretty esoteric and infrequently used, we tend to
> push back on extra magic until enough use cases for them start to appear.
>
> Usually roles don't import tasks straight out of other roles, and
> would use role dependencies in the cases where they did.

Indeed I'd like a role to soft-depend on other. For example, a munin
role may ask apache role to create a virtualhost, if it finds apache is
available.

Other example is an apache role that may ask fail2ban role, if
available, to enable jails for the ports it manages.

My workaround for this is to hihack action plugins -
https://github.com/sbitmedia/ansible-monit#leverage-monit-in-your-roles

>
> You should be able to know the relative pathing in nearly all cases
> though.

Yes, from my playbooks (or roles) I know the relative path to anything,
but I can't assume anythin for a role I want to contribute.


>
>
>
>
> On Thu, Jun 26, 2014 at 12:54 PM, "F.L. Jonathan Araña Cruz"
> <[email protected] <mailto:[email protected]>> wrote:
>
>     On 26/06/14 14:25, Michael DeHaan wrote:
>>     It's not a bug.   
>>
>>     It's also a little weird, it's not expected that you would
>>     manually include a task file from a role directory without using
>>     roles, but if you wanted to, you would have to path it in the
>>     various subdirectories.
>
>     Would be great to have a magic variable to obtain the path to
>     roles tasks, to allow for things like:
>
>     - hosts: hosts
>       roles:
>         - role-apache
>         - role-other
>       tasks:
>         - include:
>     "{{roles_paths['role-apache']}}/create_virtualhost.yml"
>     servername=example.com <http://example.com>
>
>     There's an issue asking for this, although a bit tangled:
>     https://github.com/ansible/ansible/issues/6955
>
>>
>>
>>
>>     On Wed, Jun 25, 2014 at 7:03 AM, Руслан Закиров <[email protected]
>>     <mailto:[email protected]>> wrote:
>>
>>         Hi,
>>
>>         I hoped for the following to work from a playbook:
>>
>>         - hosts: backends
>>           roles:
>>             - common
>>             - perl-app
>>           tasks:
>>             - include: a_task_that_sits_in_xxx_role.yml
>>
>>         But I get:
>>
>>         ERROR: file could not read:
>>         .../my-ansible/a_task_that_sits_in_xxx_role.yml
>>
>>         What I expected is that an include in a playbook will search
>>         for a task to include in play's roles.
>>
>>         Is it a bug?
>>
>>         -- 
>>         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]
>>         <mailto:[email protected]>.
>>         To post to this group, send email to
>>         [email protected]
>>         <mailto:[email protected]>.
>>         To view this discussion on the web visit
>>         
>> https://groups.google.com/d/msgid/ansible-project/67cb019c-471b-46ca-82d0-46760f8f4677%40googlegroups.com
>>         
>> <https://groups.google.com/d/msgid/ansible-project/67cb019c-471b-46ca-82d0-46760f8f4677%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]
>>     <mailto:[email protected]>.
>>     To post to this group, send email to
>>     [email protected]
>>     <mailto:[email protected]>.
>>     To view this discussion on the web visit
>>     
>> https://groups.google.com/d/msgid/ansible-project/CA%2BnsWgw_Tu3Jbf9-JsYLp6Kc_h%3D4Vchy5jabzavuE21NRMq1rw%40mail.gmail.com
>>     
>> <https://groups.google.com/d/msgid/ansible-project/CA%2BnsWgw_Tu3Jbf9-JsYLp6Kc_h%3D4Vchy5jabzavuE21NRMq1rw%40mail.gmail.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]
>     <mailto:[email protected]>.
>     To post to this group, send email to
>     [email protected]
>     <mailto:[email protected]>.
>     To view this discussion on the web visit
>     
> https://groups.google.com/d/msgid/ansible-project/53AC502A.6010300%40faita.net
>     
> <https://groups.google.com/d/msgid/ansible-project/53AC502A.6010300%40faita.net?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]
> <mailto:[email protected]>.
> To post to this group, send email to [email protected]
> <mailto:[email protected]>.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/ansible-project/CA%2BnsWgyrBeMs%3DdvcHh821LM6HiM3PyMHRf-T2xD5vdn8Zq_Tyw%40mail.gmail.com
> <https://groups.google.com/d/msgid/ansible-project/CA%2BnsWgyrBeMs%3DdvcHh821LM6HiM3PyMHRf-T2xD5vdn8Zq_Tyw%40mail.gmail.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/53AD5E8E.6030205%40faita.net.
For more options, visit https://groups.google.com/d/optout.

Reply via email to