Offload rbd's copy_volume_to_image function from host to ceph cluster

Registered by ling-yun

Suppose the volume's capacity and data size are 1G.

Currently if using ceph rbd as ceph volume backend and glance storage backend and these two storage backend are in the same ceph storage clouster, upload-to-image routine works as follows:
1. cinder use command "rbd export" to export the rbd image as a local file in cinder-volume host. Read 1G, and Write 1G.
2. cinder call glance upload/update api to upload the exported local file to glance storage backend. Read 1G, and write 1G.

Ceph rbd lib support volume copy function, that is rbd.Image.copy(dest_ioctx, dest_name). If ceph rbd as ceph volume backend and glance storage backend are in the same ceph storage cluster, we could offload the data copy function to storage side(Read 1G, and write 1G), which could reduce the routine cost of upload volume to image routine compared to the currently work flow.

Blueprint information

Status:
Complete
Approver:
None
Priority:
Undefined
Drafter:
ling-yun
Direction:
Needs approval
Assignee:
wanghao
Definition:
Obsolete
Series goal:
None
Implementation:
Unknown
Milestone target:
None
Completed by
Sean McGinnis

Related branches

Sprints

Whiteboard

(smcginnis): Marking obsolete as this has been sitting out there for a long time. If this is still needed, please submit a new bp.

Gerrit topic: https://review.openstack.org/#q,topic:bp/optimze-rbd-copy-volume-to-image,n,z

Addressed by: https://review.openstack.org/122926
    Offload copy_volume_to_image to ceph cluster

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.