"Ansible can do this kind of loops, but only for a single task. It does not offer a way to repeat a number of different tasks as a group."
Agreed, we really aren't trying to create a programming language. Do you have to be as careful with generating exactly a certain amount of load? I would ordinarily think a script (called by ansible of course) could be created that generates a certain amount of load and that would be predictable enough to warm up most things. On Thu, Jun 26, 2014 at 1:34 PM, 'Petros Moisiadis' via Ansible Project < [email protected]> wrote: > On 06/26/14 20:24, Michael DeHaan wrote: > > "It is that repetition that Ansible cannot currently handle." > > I'm not sure that's true. > > Ansible has loops and things like with_sequence, as well as do_until > loops. > > > Ansible can do this kind of loops, but only for a single task. It does not > offer a way to repeat a number of different tasks as a group. > > > > On Thu, Jun 26, 2014 at 1:20 PM, 'Petros Moisiadis' via Ansible Project < > [email protected]> wrote: > >> On 06/26/14 19:58, Michael DeHaan wrote: >> >> "Adding some details: >> 1. node A is running some java app >> 2. node B is running another app which in turn can generate some 'load' >> for node A >> >> in terms of states I need not only have app 'started' on node A but >> also have it 'warmed up'. as warming up a java process is a complex task >> the only way to put app in 'warmed up' state is to organize feedback loop >> between A and B and stop warmup runs (on B) as soon as number of >> compiled/recompiled methods by hotspot drops to certain level. At this >> point you'll get some 'confidence' that app is warmed up and you can >> proceed further >> >> ansible has a way of repeating single task but for some (may be good) >> reason there is no way of repeating 'composite task' (which is what roles >> are to my understanding) " >> >> - hosts: java >> tasks: >> - # steps to wait for it to be started >> >> - hosts: load_generators >> tasks: >> - # steps to generate load against java boxes, using delegate_to: >> "{{ item }}" and with_items: groups.java ? >> >> >> >> This does not seem to be a solution to his problem. What he actually >> needs is a way to repeat a number of different, load generating tasks on >> host B until his java app on host A has been warmed up for good. It is that >> repetition that Ansible cannot currently handle. >> >> >> >> >> >> On Thu, Jun 26, 2014 at 12:34 PM, Jerome Wagner <[email protected]> wrote: >> >>> Hello, >>> >>> I haven't tried it but maybe you can loop over an 'include' task ? >>> have you tried it already ? >>> >>> - include: warmup.yml >>> register: result >>> until: result.stdout.find("all systems go") != -1 >>> retries: 5 >>> delay: 10 >>> >>> >>> >>> Le jeudi 26 juin 2014 18:25:55 UTC+2, Nick Evgeniev a écrit : >>> >>>> Adding some details: >>>> 1. node A is running some java app >>>> 2. node B is running another app which in turn can generate some 'load' >>>> for node A >>>> >>>> in terms of states I need not only have app 'started' on node A but >>>> also have it 'warmed up'. as warming up a java process is a complex task >>>> the only way to put app in 'warmed up' state is to organize feedback loop >>>> between A and B and stop warmup runs (on B) as soon as number of >>>> compiled/recompiled methods by hotspot drops to certain level. At this >>>> point you'll get some 'confidence' that app is warmed up and you can >>>> proceed further >>>> >>>> ansible has a way of repeating single task but for some (may be good) >>>> reason there is no way of repeating 'composite task' (which is what roles >>>> are to my understanding) >>>> >>>> On Wednesday, 25 June 2014 19:20:37 UTC-5, Michael DeHaan wrote: >>>>> >>>>> >>>>> I would benefit by a more specific example so I can understand what >>>>> you mean. >>>>> >>>>> >>>>> On Wed, Jun 25, 2014 at 5:13 PM, Nick Evgeniev <[email protected]> >>>>> wrote: >>>>> >>>>>> yep. exactly the case. at the moment this logic is implemented using >>>>>> .sh script.. so looks like the best option is to mix .sh with ansible >>>>>> (for >>>>>> pure deployment tasks). Will take a look into Fabric .. though I'd like >>>>>> to >>>>>> avoid introducing new tool for every simple task :) >>>>>> >>>>>> >>>>>> On Wednesday, 25 June 2014 16:01:57 UTC-5, Dmitry Makovey wrote: >>>>>>> >>>>>>> does that mean you're running cross-host function that takes params >>>>>>> from A and B and returns value on B? And you expect certain value on B >>>>>>> before you move forward? I'm not an expert but it doesn't seem to be >>>>>>> Ansible domain. Maybe Fabric would be a better fit? >>>>>>> >>>>>> -- >>>>>> 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/63014730-309e-44a9-b2c6-400b9a7d5388%40googlegroups.com >>>>>> <https://groups.google.com/d/msgid/ansible-project/63014730-309e-44a9-b2c6-400b9a7d5388%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 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/b19d8e1d-db1a-4d82-8e82-ab17209767cb%40googlegroups.com >>> <https://groups.google.com/d/msgid/ansible-project/b19d8e1d-db1a-4d82-8e82-ab17209767cb%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 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/CA%2BnsWgyiE4zPtS%3DBBr02QJL9HEP%3DFZLdnncxWDRCSsQ8HbXGPw%40mail.gmail.com >> <https://groups.google.com/d/msgid/ansible-project/CA%2BnsWgyiE4zPtS%3DBBr02QJL9HEP%3DFZLdnncxWDRCSsQ8HbXGPw%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/53AC5662.3090801%40yahoo.gr >> <https://groups.google.com/d/msgid/ansible-project/53AC5662.3090801%40yahoo.gr?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/CA%2BnsWgycGhiLGTS0wn6-FJywp1KKzxo3MevNd%3DyjNb17xGbJWQ%40mail.gmail.com > <https://groups.google.com/d/msgid/ansible-project/CA%2BnsWgycGhiLGTS0wn6-FJywp1KKzxo3MevNd%3DyjNb17xGbJWQ%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/53AC5993.8040201%40yahoo.gr > <https://groups.google.com/d/msgid/ansible-project/53AC5993.8040201%40yahoo.gr?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/CA%2BnsWgwUcZAAQwvMUbRSRywBeZda8hubDwh-ejHHkUqd_eUVfA%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
