What you are describing sounds a lot like what I have at my day job -- hundreds 
of instances of dozens of Java applications each with their own properties like 
unique ports, file paths and whatnot.

We addressed the things you are talking about by treating each app as a host 
regardless of physical server and from there used host and groups vars, not 
roles for what you are trying to do. Essentially roles start with tasks and 
sometimes specialized modules. The variables and defaults are there to support 
those tasks. Recently I created a module that reads the properties file all of 
these application use for their configuration and imports them as facts so 
later roles and playbooks can remain in sync with little to no effort.  

We did toy with something like your approach of wrapping application specific 
meta data as roles, but found that was messy and hard to manage. (Roles get 
checked in and treated like code, inventory not so much.) 

So based on my experience I think your struggles are a modeling problem like 
Michael suggested. 

<tim/>

-- 
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/519faf83-1f5c-4058-a189-0689ffe46905%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to