Volume multiattach enhancements

Registered by Matt Riedemann on 2018-03-08

This blueprint intends to enhance volume multiattach support in two ways related to issues brought up at the Rocky PTG:

https://etherpad.openstack.org/p/nova-ptg-rocky

1. Add the ability to boot multiple servers in a single request from a multiattach-capable volume.

Related bug: https://bugs.launchpad.net/nova/+bug/1747985

Users currently cannot create multiple servers in a single request with a multiattach volume because the compute API specifically blocks more than one server trying to attach to the same volume (and is not multiattach aware in that respect).

2. Add the ability to pass through the attach_mode when attaching volumes.

Related bug: https://bugs.launchpad.net/cinder/+bug/1741476

Currently all secondary attachments to a multiattach volume are in read/write mode. Users would like the ability to be able to specify that attachments to a multiattach volume are read-only. Nova will simply pass this through to Cinder when creating (or updating) the attachment (the attach mode is specified in the host connector parameter to POST /attachments and PUT /attachments/{id}).

While specifying a read-only attach mode really only makes sense when using multiattach volumes, the compute API will not distinguish between multiattach-capable volumes and non-multiattach-capable volumes when passing through the attach mode. By default the attach mode will match the default in Cinder which is read/write:

https://github.com/openstack/cinder/blob/12.0.0/cinder/volume/manager.py#L4391

--

Both changes will be made in a single microversion.

Blueprint information

Status:
Started
Approver:
Dan Smith
Priority:
Medium
Drafter:
Matt Riedemann
Direction:
Needs approval
Assignee:
Matt Riedemann
Definition:
Pending Approval
Series goal:
None
Implementation:
Started
Milestone target:
None
Started by
Matt Riedemann on 2018-06-07

Whiteboard

Gerrit topic: https://review.openstack.org/#q,topic:bp/volume-multiattach-enhancements,n,z

Addressed by: https://review.openstack.org/552078
    Spec for volume multiattach enhancements

Addressed by: https://review.openstack.org/569649
    Add block_device_mapping.attach_mode column

Addressed by: https://review.openstack.org/569669
    Add BlockDeviceMapping.attach_mode field

Addressed by: https://review.openstack.org/569674
    Add plumbing to pass attach_mode when creating/updating attachments

Addressed by: https://review.openstack.org/569680
    Use BDM.attach_mode when creating/updating volume attachments

Approved for Rocky. -- mriedem 20180607

I'm deferring this to Stein. I won't be able to have the API changes written and properly tested by the Rocky feature freeze in 3 days so I'll re-propose the spec for Stein and work on it then. -- mriedem 20180723

I'm not working on this in Stein. There is still merit in the blueprint, which was approved in Rocky, but it's low priority. Could be picked up again later if someone has a pressing need for it. -- mriedem 20181025

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.