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.
