Defaults load into inventory scope.

What I said applies to things in vars/


On Fri, Apr 4, 2014 at 3:11 AM, Marko_Lisica <[email protected]> wrote:

> 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<https://groups.google.com/d/msgid/ansible-project/CABqYKhB9bpMmDOz7QDhCscrsY%3DWAdvpAor65pBtRpXh5GToqPQ%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/CAEVJ8QOJbjo8qDz9e%2ByfrJYD28TcJmgkczho9By%2BnKc%3Dhd25%2BA%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to