Cloned from launchpad blueprint https://blueprints.launchpad.net/cinder/+spec/retype-model-update.
Make retype API allow a return of (boolean, model_update) and make it backwards compatible (just boolean still works).
boolean is the current True|False which indicates whether a retype happened.
model_update is a dict containing keys to update for the volume if the retype happened. This implementation will be just like other existing APIs (e.g., migrate_volume) and should be a familiar concept. The only difference here is that we should still support old implementations that return just a boolean so that we won't break them.
This fix will be needed once the pool implementation adds pool as a host suffix. Retype can use an alternative pool, so it would like to update the model.
Specification URL (additional information):