If you have understood 'serial' and host groups then I think you know what 
ansible will do for you in terms of rolling updates.

There's a good discussion here regarding parallelizing ansible playbooks: 
https://github.com/ansible/proposals/issues/31
I should have mentioned there are some tricks you can use to run multiple 
playbooks discussed in Brian Coca's talk here: 
https://www.slideshare.net/bcoca/more-tips-n-tricks (linked from above 
discussion).

I'm not saying what I've done is the right way but it has turned out to be 
important to be able to isolate where problems lie when you are trying to 
update a system made up of a lot of different components.

Jon


On Friday, January 4, 2019 at 2:27:15 PM UTC, Doug OLeary wrote:
>
> Well, that's not the answer I was looking for! :)  
>
> Thanks for the reply.  In case it's not clear, I'm very new to ansible and 
> thought my need for ansible tower was a couple of months if not a year or 
> more away.  In the meantime, I'll look into those tools.  I use pssh for 
> remote parallel executions; haven't had the need for local parallel 
> execution.
>
> Thanks again.  I appreciate it.
>
> Doug
>
> On Friday, January 4, 2019 at 12:51:31 AM UTC-6, J Hawkesworth wrote:
>>
>> I wound up having multiple playbooks and using something else to run them 
>> simultaneously.
>> I've used gnu parallels in some cases and jenkins jobs in others.
>> parallels is nice because you can kick off a lot of jobs simultaneously 
>> with a single command line.
>> However its not great for viewing progress as the output from each 
>> playbook isn't returned until its completed (iirc)
>> Jenkins jobs give better visibility of what's going on, but become 
>> tedious to set up via the ui if you have more than a few of them.
>> Other tools to orchestrate multiple playbooks are available (tower/awx, 
>> semaphore, vespene, rundeck) but I haven't spent enough time trying any of 
>> them yet to see if they offer any advantage.
>>
>> That said it might be possible to do what you want in a single playbook, 
>> but you might need to get creative with your inventory.
>>
>> Be aware that you can target multiple host groups in a single play
>>
>> hosts: webservers:middleware:batchmachines
>>
>> If you can address all the machines you need to manipulate then you might 
>> be able to set serial: 1 and perform rolling changes that way.
>>
>> Hope the above is useful to you.
>>
>> Jon
>>
>> On Thursday, January 3, 2019 at 7:06:30 PM UTC, Doug OLeary wrote:
>>>
>>> Hi;
>>>
>>> I've read the docs on rolling updates and that sounds very close to what 
>>> I'm looking for; however, I need to execute rolling reboots for multiple 
>>> clusters preferably simultaneously.
>>>
>>> More specifically, after patching oracle clusters, i need to:
>>>
>>> 1.  Execute a task to relocate oracle services on one node.
>>> 2.  Reboot that node.
>>> 3.  Execute a task to relocate oracle services back to that node.
>>>
>>> Those tasks should happen on only one node of a cluster at a time and 
>>> the rolling updates documented by ansible work well for one cluster.  I 
>>> have occasions where I'm patching 3 or 4 clusters though.  
>>>
>>> With my limited ansible knowledge, the only thing I'm coming up with is 
>>> a rolling update across all nodes or separate playbooks for each cluster 
>>> both of which are grossly inefficient.  3 clusters should be run as 3 
>>> simultaneous rolling updates.  the separate playbooks for each cluster just 
>>> sounds wrong.  
>>>
>>> Can someone point me in the right direction?  I'm happy to do the 
>>> reading but my google-foo must be weak as I'm not finding the concept that 
>>> I'm so obviously missing.
>>>
>>> Thanks
>>>
>>> Doug O'Leary
>>>
>>

-- 
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/48fe9914-f1c8-4f32-a438-56716c328804%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to