(I’m reposting this comment, I noted within another thread (on -devel), but where it was slightly off topic and overlooked.)
I would like to be able to more easily target multiple sets of clusters within the same playbook in a serialized way, e.g. applying the same role to deploy different apps.
Given say 100 tomcat clusters (wit each containing two or more nodes), deployed with 1 set of roles, in one set of playbooks, targetting the tomcat group.
All are deployed in the same way, but with different apps, parametrized via the inventory, I need to deploy one node at a time.
Now, this is possible with serial: 1 of course, but when a deploy consists of upgrading several related application, it would be a big benefit to be able to deploy several clusters at the same time, but each node within a given cluster 1 at a time.
So, functionally, that would be something like “serial: per node in cluster”.
Explained code wise, this would translate into runner using serial batches, where the first batch contains ‘all the first nodes in the cluster’, the next batch all second nodes, and so on.
I’m not sure ho wthis could be easily defined though. Given all nodes of a paticular cluster are part of a particular application group, and those application groups would be part of, say, a tomcat group, parent/grandparent group membership could be looked at, but so far I couldn’t think of a decent way to model that.
Thoughts?