Yes, most people would set up different playbooks in that case. You definitely want a source controlled record of what groups are mapped to what roles and if you just pass in everything with "-e" you'll not have that.
On Wed, Dec 25, 2013 at 4:28 AM, Nicolas Rodriguez <[email protected]>wrote: > Actually, I use Ansible to create, delete or update vhosts (apache, nginx, > haproxy, php) on the infrastructure and sometimes I only want to talk with > servers of a certain role, to update Apache config for example. This avoids > executing unneeded tasks. > > > Le mercredi 25 décembre 2013 00:13:56 UTC+1, Michael DeHaan a écrit : >> >> So in that case, you still just have a play that says "for machines in >> this group, these roles apply". >> >> This doesn't imply you would need to template the role names at all. >> >> - hosts: all_my_base >> roles: >> - are_belong_to_me >> - common >> - stuff >> >> etc >> >> >> >> >> On Tue, Dec 24, 2013 at 5:34 PM, Aaron Hunter <[email protected]>wrote: >> >>> In general I agree that this isn't a great idea. However, I can see a >>> case where one's infrastructure is more elastic, and shrinks and grows >>> dynamically. VMs have made this case more likely. What do you think about >>> passing a URL for the inventory and main playbook (site.yml) files? If you >>> could pass say, http://repo.site.com/production.hosts to the Anisble >>> command line then the files could be generated dynamically by the web >>> server. With that approach you could keep your inventory and roles in an >>> RDBMS and generate the inventory on the fly. >>> >>> Just an idea... >>> >>> >>> On Friday, December 20, 2013 6:32:56 PM UTC-5, Michael DeHaan wrote: >>> >>>> Right now I'm guessing role names aren't being templated against extra >>>> vars >>>> >>>> I agree the final one should work with your JSON example, and the first >>>> one should work if JMODULES was the name of a single role. >>>> >>>> I would file a bug in github to track this.... though this is the first >>>> time I've got the request. >>>> >>>> I would generally recommend structuring playbooks to record the desired >>>> system configuration, so passing things in and not having them in source >>>> control (what hosts get what roles) seems like a bit of an anti-pattern, >>>> hence why this is not implemented... but yes, I agree this in principle >>>> would be something you might expect to work (however unusual and >>>> unexpected). >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> On Fri, Dec 20, 2013 at 9:30 AM, Nicolas Rodriguez < >>>> [email protected]> wrote: >>>> >>>>> Hi! >>>>> >>>>> I try to do dynamic role calling in playbook like that : >>>>> >>>>> --- >>>>> - hosts: "{{ HOST }}" >>>>> user: root >>>>> >>>>> roles: >>>>> - "{{ JMODULES }}" >>>>> >>>>> >>>>> command : ansible-playbook test.yml --extra-vars >>>>> '{"JMODULES":["apache","haproxy"]}' >>>>> >>>>> I get an error : AttributeError: 'list' object has no attribute >>>>> 'startswith' >>>>> >>>>> >>>>> If I change to >>>>> >>>>> --- >>>>> - hosts: "{{ HOST }}" >>>>> user: root >>>>> >>>>> roles: "{{ JMODULES }}" >>>>> >>>>> I get : ERROR: value of 'roles:' must be a list >>>>> >>>>> >>>>> Any help? >>>>> Thank you! >>>>> >>>>> -- >>>>> 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]. >>>>> >>>>> For more options, visit https://groups.google.com/groups/opt_out. >>>>> >>>> >>>> >>>> >>>> -- >>>> Michael DeHaan <[email protected]> >>>> >>>> CTO, AnsibleWorks, Inc. >>>> http://www.ansibleworks.com/ >>>> >>>> -- >>> 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]. >>> For more options, visit https://groups.google.com/groups/opt_out. >>> >> >> >> >> -- >> Michael DeHaan <[email protected]> >> CTO, AnsibleWorks, Inc. >> http://www.ansibleworks.com/ >> >> -- > 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]. > For more options, visit https://groups.google.com/groups/opt_out. > -- Michael DeHaan <[email protected]> CTO, AnsibleWorks, Inc. http://www.ansibleworks.com/ -- 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]. For more options, visit https://groups.google.com/groups/opt_out.
