Thanks for the answer. As I can't loop a role execution, I would have to hard code the number of call to the role. If next week I need to deploy a third version, i'll have to edit the playbook again to add the role one more time... and so on. Not really smart. We ended using a with_items on almost every tasks in the playbook...
I really think there is something to thing of about this. Ansible should have a way to manage the administration of two different versions of something installed using the same playbook... Regards, Prune Le mercredi 26 mars 2014 14:55:04 UTC+1, Brian Green a écrit : > > You have to restructure the playbooks to loop within the role itself > (perhaps have a list with versions to install in your variables), or call > the role twice. I would really like to see some mechanism to loop over a > role, but with that said, you should be able to find a solution. > > Why is calling the role twice not acceptable? I have a playbook that calls > a role in 50 different ways, depending on how it's executed. While it's a > bit long, it is structured simply, and easily understood. > > I had similar decisions to make, and looping within the role wasn't > something I was happy with, so I ended up applying the role multiple times, > which really isn't all that painful IMO. My problems with looping within > the role (for my use case) was that I needed to use with_items for many > tasks, which led to added complexity of the playbook - I understood > perfectly what was required and being performed, but collaboration with > other folks at my organization that are new to Ansible would prove > difficult. > > > On Tuesday, March 25, 2014 6:04:19 AM UTC-5, Prune wrote: >> >> For me the use case is : >> >> - I have a playbook that installs elasticsearch using a role >> - elasticsearch version is defined in the host file as a variable along >> each server name >> - I have a group with all the hosts needing elasticsearch >> >> Until then, we were using elasticsearch 0.90.x (x is 2,3 or 9). >> Now, I need to install BOTH the 0.90.x and the new 1.0.1 version at the >> same time. >> While the playbook can handle that, I can't find a way to have the role >> played twice, once for each version ? >> The only solution so far is calling the role twice and statically setting >> the version on each call, which is not acceptable. >> >> One solution would be to call the role using a with_item statement to >> have it run for every version is defined in a dict... but this is >> deprecated.... >> Any clue ? >> >> >> Thanks. >> >> Prune >> > -- 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/f01d1cc1-0cba-44e3-bec3-4218d0a54d81%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
