Make use of Cinder's attach volume API

Registered by John Garbutt on 2017-02-19

Blueprint information

Status:
Complete
Approver:
Matt Riedemann
Priority:
High
Drafter:
John Garbutt
Direction:
Approved
Assignee:
Ildiko Vancsa
Definition:
Approved
Series goal:
Accepted for queens
Implementation:
Implemented
Milestone target:
milestone icon queens-3
Started by
Matt Riedemann on 2017-03-28
Completed by
Matt Riedemann on 2017-12-09

Related branches

Sprints

Whiteboard

Gerrit topic: https://review.openstack.org/#q,topic:bp/cinder-new-attach-apis,n,z

Addressed by: https://review.openstack.org/373203
    Add spec to use Cinder's new attachment APIs

Addressed by: https://review.openstack.org/437665
    objects: Add attachment_id to BlockDeviceMapping

Addressed by: https://review.openstack.org/437597
    db: Add attachment_id to block_device_mapping

Gerrit topic: https://review.openstack.org/#q,topic:add_attachment_uuid_to_bdm,n,z

Addressed by: https://review.openstack.org/438744
    Add attachment_uuid to BDM table

Gerrit topic: https://review.openstack.org/#q,topic:add_cinder_v3_detach_calls,n,z

Addressed by: https://review.openstack.org/438750
    Add Cinder V3 Detach calls

Addressed by: https://review.openstack.org/242603
    Make BlockDeviceMapping object support uuid

Addressed by: https://review.openstack.org/242602
    Add uuid column to BlockDeviceMapping

Addressed by: https://review.openstack.org/439520
    WIP compute: Move detach logic into driver BDM

Addressed by: https://review.openstack.org/440693
    compute: Only destroy BDMs after successful detach call

Addressed by: https://review.openstack.org/443932
    compute: Use detach_volume during default rebuild

Approved for Pike. I've left the assignee blank since there are multiple people working on different parts of this large change. -- mriedem 20170328

Addressed by: https://review.openstack.org/452181
    WIP compute: Centralise terminate and detach volume api calls in bdm

Addressed by: https://review.openstack.org/452252
    Address comments when moving volume detach to block_device.py

Addressed by: https://review.openstack.org/456851
    Add Cinder v3 detach to local_cleanup

Addressed by: https://review.openstack.org/456877
    Add Cinder v3 detach to shutdown_instance

Addressed by: https://review.openstack.org/456896
    Add Cinder v3 detach call to _terminate_volume_connections

Addressed by: https://review.openstack.org/456971
    Add Cinder v3 detach to swap_volume

Addressed by: https://review.openstack.org/456988
    Add Cinder v3 detach call to post_live_migration

Addressed by: https://review.openstack.org/459111
    cinder: add attachment_create method

Addressed by: https://review.openstack.org/459113
    cinder: add attachment_update method

Addressed by: https://review.openstack.org/459134
    Update cinder-new-attach-apis spec for begin_detaching

Addressed by: https://review.openstack.org/330285
    WIP/POC Implement new attach Cinder flow

Addressed by: https://review.openstack.org/463987
    WIP: update live migration to use v3 cinder api

Addressed by: https://review.openstack.org/469579
    WIP: Use microversions for new style volume attachments

Addressed by: https://review.openstack.org/469609
    Use 3.27 microversion when creating new style volume attachments

Addressed by: https://review.openstack.org/469618
    DNM: Test requesting microversion for attachment_create and falling back

Addressed by: https://review.openstack.org/469668
    Skip micorversion discovery check for update/delete volume attachments

Addressed by: https://review.openstack.org/471142
    objects: Add old_attachment_id to BlockDeviceMapping

Addressed by: https://review.openstack.org/446671
    Remove check_detach

Addressed by: https://review.openstack.org/481290
    DNM: test new style volume attach with live migration

Addressed by: https://review.openstack.org/484860
    DNM: test new style cinder attach with upgrades

Addressed by: https://review.openstack.org/486194
    Translate the return value of attachment_create and _update

We got a lot of work done in Pike but the API exposure for the Cinder 3.27 attachments API isn't yet integrated for Nova in Pike, so I'm deferring this to Queens. -- mriedem 20170803

Addressed by: https://review.openstack.org/493323
    WIP - Add attachment_complete call to volume/cinder.py

Addressed by: https://review.openstack.org/493324
    WIP - Tweak connection_info translation for the new Cinder attach/detach API

Addressed by: https://review.openstack.org/497552
    Add spec to use cinder's new attachment API

Addressed by: https://review.openstack.org/501805
    DNM: Run test_iscsi_volume with new style volume attachments

Addressed by: https://review.openstack.org/511031
    DNM: Fail if we try to update volume connections during reboot

Addressed by: https://review.openstack.org/512626
    Add attachment_get to refresh_connection_info

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

Addressed by: https://review.openstack.org/267587
    libvirt: Allow multiple volume attachments

Addressed by: https://review.openstack.org/525622
    Add a new check to volume attach

Addressed by: https://review.openstack.org/271047
    WIP: Allow multi-attach in compute api

Addressed by: https://review.openstack.org/525787
    WIP: Add new style volume attachment support to block_device.py

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

Addressed by: https://review.openstack.org/526182
    Avoid stashed connector lookup for new style detach

(?)

Work Items

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.