Hi,

That is 100% clear. But in this case one role does not have its own
defaults and inherits defaults from the last role in a list regardles if
that role is played or not.


On Fri, Apr 4, 2014 at 12:16 AM, Michael DeHaan <[email protected]> wrote:

> It's entirely intended.  For instance, you might have a role that applies
> a particular configuration to machines that live in a particular
> datacenter, and one of the things that sets might be the port to use for
> the database
> server.  That port variable would then be available to other roles.
>
> While this sounds scary at first, Ansible contains safeguards to make sure
> the variables used in one role are absolutely used there and not clobbered
> by another.  Thus they have guaranteed scope to that role.
>
> As such, if you define a variable "port" in two places, each role is
> guaranteed to be able to read the local value.
>
>
> On Thu, Apr 3, 2014 at 10:09 AM, Marko Lisica <[email protected]>wrote:
>
>> Hi,
>>
>> I stumbled onto little mind game with ansible today : D .
>>
>> I have three roles that are tagged.
>>
>> - hosts: vagrant
>>>   sudo: yes
>>>   roles:
>>>     - {role: ansible_users, tags: users}
>>>     - {role: ansible_nginx, tags: nginx}
>>>     - {role: ansible_mysql, tags: mysql}
>>>
>>
>> I have defaults/main.yml for "ansible_users" and "ansible_mysql" in their
>> respective places.
>>
>> This is "ansible_users" defaults:
>>
>> ---
>>> users:
>>>   - user: detlic
>>>     webdir:
>>>       - woodpecker
>>>       - aligator
>>>   - user: keder
>>>     webdir: []
>>>
>>
>> This is "ansible_mysql" defaults:
>>
>> ---
>>> users:
>>>   - user: detlic
>>>     db:
>>>       - aligatordb
>>>       - woodpeckerdb
>>>   - user: jazavac
>>>     db:
>>>       - badgerdb
>>>       - ddaybdb
>>>
>>
>> I have left NGINX role without "defaults". How I understand things is
>> that NGINX will inherit "defaults" vars from other roles and use them where
>> it can. But in this case {{ VARS }} are named the same in both USER and
>> MYSQL roles.
>>
>> NGINX role is before MYSQL from whoom it should inherit vars? In my test
>> case it inherits it from the LAST role in the list. So in this case it is
>> MYSQL. If I remove MYSQL role from a list then everything is fine.
>>
>> Another thing is if I leave MYSQL role present BUT use TAGS and play
>> roles with jsut USERS and NGINX tags, still NGINX inherits "defaults" from
>> MYSQL.
>>
>> Can someone comment on this.
>>
>> --
>> 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/eb9bf810-d04e-4998-86e4-72e0ab8aa791%40googlegroups.com<https://groups.google.com/d/msgid/ansible-project/eb9bf810-d04e-4998-86e4-72e0ab8aa791%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 a topic in the
> Google Groups "Ansible Project" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/d/topic/ansible-project/y_Gucqc_3sE/unsubscribe.
> To unsubscribe from this group and all its topics, 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/CAEVJ8QPg4RQo6Ae-K0pLUAkyA6J2W7R53-nxGNmZPR%3DGKKM7iA%40mail.gmail.com<https://groups.google.com/d/msgid/ansible-project/CAEVJ8QPg4RQo6Ae-K0pLUAkyA6J2W7R53-nxGNmZPR%3DGKKM7iA%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/CABqYKhB9bpMmDOz7QDhCscrsY%3DWAdvpAor65pBtRpXh5GToqPQ%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to