Ah, so the documentation in this regard might be very literal where the
role variables are only available to the playbook and not the role
importing the role:

This option dictates whether the role's vars and defaults are exposed to
> the playbook. If set to yes the variables will be available to tasks
> following the include_role task. This functionality differs from standard
> variable exposure for roles listed under the roles header or import_role
> as they are exposed at playbook parsing time, and available to earlier
> roles and tasks as well.
>

You might look more at source code with the variable manager
<https://github.com/ansible/ansible/blob/devel/lib/ansible/vars/manager.py#L196>
to see where your issue might be as I wasn't considering this particular
case in your initial question; I thought you were talking about a role
listing another as a dependency via meta/main.yml
<https://docs.ansible.com/ansible/latest/reference_appendices/galaxy.html#dependencies>

On Thu, Jul 11, 2019 at 6:36 AM Shashank Dutt Jha <[email protected]>
wrote:

> Yeah, I will assume so.
>
> But the confusing was
> https://docs.ansible.com/ansible/latest/modules/include_role_module.html
>
> The public option while including role that is described as
> This option dictates whether the role's vars and defaults are exposed to
> the playbook. If set to yes the variables will be available to tasks
> following the include_role task. This functionality differs from standard
> variable exposure for roles listed under the rolesheader or import_role as
> they are exposed at playbook parsing time, and available to earlier roles
> and tasks as well.
>
>
>
> On Thursday, 11 July 2019 15:11:26 UTC+5:30, Andrew Feller wrote:
>>
>> This behavior is expected.
>>
>> The variables defined in Role A should be scoped for A unless defined
>> within your inventory or any of the other places outside the role that
>> variables are defined.
>>
>> If variables from a role were implicitly available broadly through their
>> declaration, you can have nasty side effects and potential security
>> problems.
>>
>> Recommend looking at
>> https://docs.ansible.com/ansible/latest/user_guide/playbooks_variables.html 
>> for
>> more info.
>>
>> Sent from my iPhone
>>
>> On Jul 11, 2019, at 2:47 AM, Shashank Dutt Jha <[email protected]>
>> wrote:
>>
>> I have defined a role : say A
>> another role B which includes role A
>>
>> in role B when I try to use variables defined in A, I get var undefined
>> error.
>>
>> I tried using public: yes when including role A. Still same issue.
>>
>> This is correct behaviour?
>>
>> Or I should be able to use variables defined in a role in my tasks/ role
>> tasks after including it?
>>
>> --
>> 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/705f9907-6f37-49f6-9372-aad55d12fc4c%40googlegroups.com
>> <https://groups.google.com/d/msgid/ansible-project/705f9907-6f37-49f6-9372-aad55d12fc4c%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/2693cf44-e414-4227-bb7d-d790da3e3722%40googlegroups.com
> <https://groups.google.com/d/msgid/ansible-project/2693cf44-e414-4227-bb7d-d790da3e3722%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/CAMcshKb%3DJCnfsfM6RxhTNJoHG52CPV0%2BgT_jB6g93shZU2b3_g%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to