Add support for migrate volume natively with 3PAR apis

Registered by Ramy Asselin

Use direct 3PAR APIs to migrate a volume between the same backend instead of the basic cinder migrate implementation.

Limitations:
1. Volumes with snapshots cannot be migrated (This is also a general cinder migrate limitation)
2. Volumes currently attached cannot be migrated
3. Source and Destination CPGs must be in the same domain
4. Volume re-type not supported

Blueprint information

Status:
Complete
Approver:
John Griffith
Priority:
Low
Drafter:
Ramy Asselin
Direction:
Approved
Assignee:
Ramy Asselin
Definition:
Approved
Series goal:
Accepted for icehouse
Implementation:
Implemented
Milestone target:
milestone icon 2014.1
Started by
Ramy Asselin
Completed by
Ramy Asselin

Related branches

Sprints

Whiteboard

Prior reading: Current volume migrate reference:
http://docs.openstack.org/admin-guide-cloud/content//volume-migration.html

Sample 3PAR configuration for volume migrate use case

Notes for /etc/cinder/cinder.conf

In order to migrate, you need to setup multiple 3PAR driver instances.

For example (with only relevant fields shown):

[3parfc1]
hp3par_api_url=https://10.10.10.10:8080/api/v1
hp3par_cpg=CPG-FC1
volume_backend_name=3par
volume_driver=cinder.volume.drivers.san.hp.hp_3par_fc.HP3PARFCDriver

[3parfc2]
hp3par_api_url=https://10.10.10.10:8080/api/v1
hp3par_cpg=CPG-FC2
volume_backend_name=3par
volume_driver=cinder.volume.drivers.san.hp.hp_3par_fc.HP3PARFCDriver

[3pariscsi1]
hp3par_api_url=https://10.10.10.10:8080/api/v1
hp3par_cpg=CPG-IS1
volume_backend_name=3par
volume_driver=cinder.volume.drivers.san.hp.hp_3par_iscsi.HP3PARISCSIDriver
iscsi_ip_address=10.10.120.244

[3pariscsi2]
hp3par_api_url=https://10.10.10.10:8080/api/v1
hp3par_cpg=CPG-IS2
volume_backend_name=3par
volume_driver=cinder.volume.drivers.san.hp.hp_3par_iscsi.HP3PARISCSIDriver
iscsi_ip_address=10.10.120.244

In this example, 4 driver instances are setup. 2 on ISCSI and 2 on FC.
hp3par_api_url is the same for all instances
volume_backend_name is the same for all instances.
hp3par_cpg is different for each instance

Migrate will essentially move a volume from one cpg to a different cpg in the same backend.

Following the basic migrate instructions:
1. "cinder-manage host list" will show you the 4 hosts
2. "cinder migrate <ID> <HOST>" will migrate the volume <ID> from the currently assigned CPG to the CPG assigned to the desired <HOST>

Limitations:
1. Volumes with snapshots cannot be migrated
2. Volumes currently attached cannot be migrated
3. Source and Destination CPGs must be in the same domain
4. Volume re-type not supported

Gerrit topic: https://review.openstack.org/#q,topic:bp/native-3par-migrate-volume,n,z

Addressed by: https://review.openstack.org/73113
    3PAR: Backend assisted volume migrate

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.