It's not about being that careful but rather about getting to predictable 
result as soon as possible.

As I mentioned warming up of java program is a complex thing and depends 
heavily on jvm version/ switches as well as load 'patterns'. In my case 
everything could change.. So to answer your question yes it's possible to 
get guaranteed warm up ... but the cost of such guarantee would be high 
(for my use case) - for sure app will be warmed up after half an hour of 
running load generators..

i'm fine with hybrid solution (i.e to run ansible from within a shell 
script then run some 'imperative' logic .. just trying to pull as much 
'ssh' out of scripts as possible)

btw not of immediate demand but what's the best way to get 'cached' ansible 
facts from within shell script? i think it might be useful in certain 
circumstances 

On Thursday, 26 June 2014 13:06:11 UTC-5, Michael DeHaan wrote:
>
> "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 <
> ansible...@googlegroups.com <javascript:>> 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 <
>> ansible...@googlegroups.com <javascript:>> 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 <aky...@gmail.com 
>>> <javascript:>> 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 <nevg...@gmail.com> 
>>>>>> 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 ansible-proje...@googlegroups.com.
>>>>>>> To post to this group, send email to ansible...@googlegroups.com.
>>>>>>>  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 ansible-proje...@googlegroups.com <javascript:>.
>>>> To post to this group, send email to ansible...@googlegroups.com 
>>>> <javascript:>.
>>>>  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 ansible-proje...@googlegroups.com <javascript:>.
>>> To post to this group, send email to ansible...@googlegroups.com 
>>> <javascript:>.
>>>  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 ansible-proje...@googlegroups.com <javascript:>.
>>> To post to this group, send email to ansible...@googlegroups.com 
>>> <javascript:>.
>>>  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 ansible-proje...@googlegroups.com <javascript:>.
>> To post to this group, send email to ansible...@googlegroups.com 
>> <javascript:>.
>> 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 ansible-proje...@googlegroups.com <javascript:>.
>> To post to this group, send email to ansible...@googlegroups.com 
>> <javascript:>.
>> 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 ansible-project+unsubscr...@googlegroups.com.
To post to this group, send email to ansible-project@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/50114141-7ac0-4142-9fc3-98f336e4ff90%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to