Once we have balanced cloudvirt capacity across racks (T424658) we can also add rack-based availability zones to nova. This will allow users, most notably Toolforge, to launch VMs into specific racks for redundancy purposes. VMs launched into a specific AZ (as opposed to nova, the default AZ) will be assumed to be able to be tolerant to a loss of AZ and thus can be skipped for drain operations (i.e. can tolerate az or cloudvirt loss)
Exact plan is still TBD, though something like this:
- evaluate interest and pros/cons
- sync netbox rack map into per-rack nova host aggregates
- expose each aggregate as its own az
- validate the feature with Toolforge
- adapt drain operations to skip az-pinned VMs