According to https://docs.openstack.org/nova/latest/user/server-groups.html “Server groups are useful for separating or grouping workloads…”.
For example, if I deploy a charmed mysql on 3 units, I need that every unit runs separately on an hypervisor. This is achieved in openstack by creating a server group and assigning every unit to it.
Why don’t use a zone? Because in my case I have some hypervisor into the same datacenter and into the same rack, so a zone in not best suited but server groups work simply well.
Could be very useful to have a juju constraint like this:
-server-groups=foo, where foo is an openstack server groups