Retype can return a model_update

Registered by Mark Sturdevant

Make retype API allow a return of (boolean, model_update).

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. Use
None for model_update to let the manager do the usual model updates.
Return a model_update dict if the driver needs to override some of the
values.

The existing implementations have been updated to use the new return
signature. They all return None for the model_update. Drivers will
add model_update specifics as needed in separate path sets.

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 in some cases.

This will similarly be needed for replication.

NOTE: Was "with backwards compatibility", but that patch set was rejected so now it involves updating all existing retype implementations to return the tuple. Whether this alternative is selected or we go back to the other or neither is still up for approval.

NOTE2: The backwards compatibility approach went in with replication: https://review.openstack.org/#/c/113054/

So perhaps this is done. Not sure if the cleaner approach of getting rid of backwards compatibility and converting the drivers will be addressed via this blue-print and commit 113997 or if it will be abandoned.

Blueprint information

Status:
Complete
Approver:
None
Priority:
Undefined
Drafter:
Mark Sturdevant
Direction:
Needs approval
Assignee:
Mark Sturdevant
Definition:
Obsolete
Series goal:
None
Implementation:
Unknown
Milestone target:
None
Completed by
Mark Sturdevant

Related branches

Sprints

Whiteboard

Gerrit topic: https://review.openstack.org/#q,topic:bp/retype-model-update,n,z

Addressed by: https://review.openstack.org/113997
    Retype can return a model_update

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.