Add the ability to export/import volumes in Cinder

Registered by John Griffith on 2013-07-02

It would be useful to add the ability to export/import volumes from one cinder node to another,
or more precisely have the ability to import "non" openstack volumes like "lv's" or volumes
already on a back-end device in to OpenStack/Cinder.

Additionally, for enterprise environments the ability to export migh be useful. This would look
like a delete from Cinder's perspective, however the volume on the back-end storage device would
be left in tact.

Blueprint information

Status:
Complete
Approver:
John Griffith
Priority:
Medium
Drafter:
John Griffith
Direction:
Approved
Assignee:
John Griffith
Definition:
Approved
Series goal:
Accepted for juno
Implementation:
Implemented
Milestone target:
None
Started by
John Griffith on 2014-11-13
Completed by
John Griffith on 2014-11-13

Related branches

Sprints

Whiteboard

*************************************************
NOTE
*************************************************

This feature has been implemented as of the Icehouse release. The API methods are named manage and unmanage due to some disagreements on the appropriate naming.
*************************************************

A couple questions:
1. How is the first scenario (exportr from noda-a and import to node-b) different from volume migration?

<jdg> The idea here was to release a volume from OpenStack/Cinder but not to delete the data on said volume. For all intents from a Cinder perspective the volume would be deleted, but the volume (LVM whatever) would still exist for use outside of OpenStack/Cinder.

<JuanManuelOlle> Why export and then import instead of duplicate a volume? spacific API to create N copies of a volume?

I see this feature more like the import / export of a Database, so that a Virtual Disk can be imported / exported to / from another environment. It is not that important to delete the exported volume from Cinder

2. In the second scenario (importing a volume created from outside of Cinder), I think this should be an admin function, the admin should own the volume, and then transfer ownership to the appropriate user. Does that make sense?

<jdg> Absolutely, in fact both of these would be admin extensions. Regardless we've hit proposal freeze and I don't think this is high enough priority so I think it will be early Icehouse so we can sort out any other concerns that come up.

<josep> For enterprise environments this feature is quite important because allows smooth migration between different environments

Gerrit topic: https://review.openstack.org/#q,topic:bp/add-export-import-volumes,n,z

Addressed by: https://review.openstack.org/72501
    Volume manage/unmanage support

Addressed by: https://review.openstack.org/76818
    Storwize volume manage/unmanage support

Addressed by: https://review.openstack.org/97091
    Ceph rbd volume manage/unmanage support

Addressed by: https://review.openstack.org/101669
    3PAR volume manage/unmanage support

Addressed by: https://review.openstack.org/106610
    XIV volume manage/unmanage support

Addressed by: https://review.openstack.org/106966
    XIV volume manage/unmanage support

Addressed by: https://review.openstack.org/107104
    XIV volume manage/unmanage support

Addressed by: https://review.openstack.org/107535
    Implement import/export for SolidFire Driver

Addressed by: https://review.openstack.org/108488
    Implements new 'bootable' option for manage existing volume.

Addressed by: https://review.openstack.org/113729
    HP 3PAR manage_existing with volume-type support

Gerrit topic: https://review.openstack.org/#q,topic:manage-unmanage-glusterfs,n,z

Addressed by: https://review.openstack.org/119028
    glusterfs: Add manage/unmanage support

(?)

Work Items