Enhance extend volume workflow in generic share driver

Registered by Rajat Dhasmana

The generic share driver uses cinder volumes to provide share storage.
Currently, while extending a share, we call cinder extend API to extend the volume.
Since the volume is attached to the server, we first detach the volume, extend it, and attach it again to the share server[1].

This is time consuming and issues multiple API calls to Cinder (even taking a performance hit for unmapping and again mapping the volume device ).
Cinder has the functionality to extend in-use volumes from microversion 3.42[2] and most of the cinder backends do support it[3].

This has been already implemented in the glance cinder store use case[4] and is a performance improvement over the previous workflow.

[1] https://opendev.org/openstack/manila/src/commit/5f733d3d9780dcd5618bee1e0c07826f392b1e3b/manila/share/drivers/generic.py#L665-L672
[2] https://opendev.org/openstack/cinder/src/commit/ff4b1c910e65274efcbc0fd052f1f9bc5a643603/cinder/api/microversions.py#L124
[3] https://docs.openstack.org/cinder/latest/reference/support-matrix.html#operation_online_extend_support
[4] https://review.opendev.org/q/topic:extend-attached-volumes

Blueprint information

Status:
Not started
Approver:
None
Priority:
Undefined
Drafter:
Rajat Dhasmana
Direction:
Needs approval
Assignee:
None
Definition:
New
Series goal:
None
Implementation:
Unknown
Milestone target:
None

Related branches

Sprints

Whiteboard

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.