Hi,
I have a use case where I want to execute rolling updates in multiple clusters. As first step, I have created a task to execute serially on the hosts passed to the task which will execute the restart one node at a time. Currently it takes O(n) time for node restart assuming total number of nodes in all the cluster is n and constant time for node restart. I want to optimise the execution of this ansible job such that the task to restart nodes is executed serially in the cluster but in parallel across the clusters resulting in effective restart time proportional to maximum number of hosts in a cluster. Example for the given inventory -
[Cluster_1]
host_1_a
host_1_b
[Cluster_2]
host_2_a
host_2_b
[Cluster_3]
host_3_a
host_3_b
host_3_c
The current execution time is 7*(reboot_time) and I want to optimise it to 3*(reboot_time). I am not sure if this possible in ansible and would welcome any suggestions. Thanks!