[nova][ptg] Summary: Corner case issues with root volume detach/attach
Summary (copied verbatim from the bottom of the etherpad - ask mriedem
if further explanation is needed):
- Allow attaching a new root volume with a tag as described [in the
etherpad] and/or a multiattach volume, don't restrict on whether or not
the existing root volume had a tag or multiattach capability.
- During unshelve, before scheduling, modify the RequestSpec (and
don't persist it) if the BDMs have a tag or are multiattach (this is
honestly an existing bug for unshelve). This is where the compute driver
capability traits will be used for pre-filtering. (if unshelving fails
with NoValidHost the instance remains in shelve_offloaded state [tested
in devstack], so user can detach the volume and retry)
- Refactor and re-use the image validation code from rebuild when a new
root volume is attached.
- Assert the new root volume is bootable.