Add the ability to export/import volumes in Cinder

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.

Related branches

Related bugs

Sprints

Whiteboard

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