role "vars" are scoped to the play, not the role.  role "params", which are
different than vars, are scoped to the role.  `include_role` and
`import_role` do not support params, only vars.

On Thu, Jul 11, 2019 at 9:20 AM Andrew Feller <[email protected]>
wrote:

> 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
> <https://groups.google.com/d/msgid/ansible-project/CAMcshKb%3DJCnfsfM6RxhTNJoHG52CPV0%2BgT_jB6g93shZU2b3_g%40mail.gmail.com?utm_medium=email&utm_source=footer>
> .
> For more options, visit https://groups.google.com/d/optout.
>


-- 
Matt Martz
@sivel
sivel.net

-- 
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/CAD8N0v-nG9go4VA3k7uvqeGTizt7Oxf0nsTw-eKfvzgRR5Y69w%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to