Grouping of serial tasks

Sorry i’m relatively new to ansible so I may be asking a very obvious question :(. Basically my organization has servers in two tiers, and within those tiers there are groups. What I’m trying to make happen is an ansible syntax that will restart all of the one tier in parallel, but will only be restart one server in each group at a time. So, for example, the primary tiers are frontends and backends. Within backends we have serviceA, serviceB, and serviceC. Each of those will have multiple actual hosts tied to it which I’ll call svcA1, svcA2, svcB1, svcB2, svcC1, svcC2. What i want to happen is (where “restart” is beginning execution and “x” means finished)

`
time > > > > > > > > > > > > >
svcA1 restart - x
svcA2 restart - - - x

There is no way to do such a thing properly, I’m afraid, but I have been wanting this feature myself.

My use case is similar: I have lots of clusters, that are managed by the same setup type (the same roles), but deploy a different application (different inventory vars), and I’d like to deploy different clusters in parallel, but each node within the cluster serially.

Now, in the upcoming v2, there are new ways to handle the executions (strategy plugins), and I’d love to find out if that may present a way to implement such a thing.

Of course this would need a way to tell ansible which groups holds all the clusters, and which groups hold the nodes of a particular cluster, so AFAICS, we wil need more information from the inventory than we now can have…

Serge