Provide an extension to enable extend of in-use/attached volumes

Registered by John Griffith

We would like to add an extension to allow the option of extending in-use volumes.

This requires a number of things to happen:

1. Refactor existing code so that targets are not created for a device until they’re actually needed. We currently create an iscsi target and export on volume_create, then update and modify everything when we do attach. This isn’t necessary, we should just do this on attach rather than have excess targets hanging round.

2. Refactor the existing code to ensure that we rescan/update iscsi target on every attach. This ties in to the extend code because with LVM and tgtd for example you can extend a volume, however the changes won’t propagate through to the compute node when attached unless an iscsi rescan and update of the target info is done.

3. Add an extension to allow extend actions on “in-use/attached” volumes. We currently don’t allow this for a number of reasons, including no clean way to get the update passed in to the guest instance, and of course there are some “safety” concerns about messing with a users volume while it’s in use.

4. Add nova-event callback support to Cinder (notify Nova when volume has been resized using Nova's event notification queue.

The extension would provide an option flag to perform an extend of an in-use volume. This will require a number of things to happen depending on the backend and hypervisor in use. For some cases this will simply “just work”, for others we may need to automate a detach/re-attach of the volume, and for others we may just need a way to notify the compute node/libvirt that the geometry of the attached disk has changed.

Item 2 is actually addressed in a bug fix here: https://review.openstack.org/#/c/58599/

Blueprint information

Status:
Complete
Approver:
None
Priority:
Undefined
Drafter:
John Griffith
Direction:
Needs approval
Assignee:
None
Definition:
Obsolete
Series goal:
None
Implementation:
Unknown
Milestone target:
None
Completed by
Sean McGinnis

Related branches

Sprints

Whiteboard

(smcginnis): Marking obsolete as this has been sitting out there for a long time. If this is still needed, please submit a new bp.

None

(?)

Work Items