Support clone_image from Glance cinder backend

Registered by Tomoki Sekiyama

This adds an implementation of clone_image which offloads
the image copy when the image is stored in Glance Cinder backend.
It uses "create_clone_volume" method to create a new volume
from an image that is placed on a cinder volume.

In addition, if use_cinder_backend_for_image_upload is set to
True, upload-to-image in raw format will create a cloned volume
and register its location to the image service.

This enables volume data copy offloading (or CoW) from/to Glance images.
Also useful for sharing volume data using Glance ACL feature.

Blueprint information

Status:
Complete
Approver:
None
Priority:
Undefined
Drafter:
Tomoki Sekiyama
Direction:
Needs approval
Assignee:
Tomoki Sekiyama
Definition:
Pending Approval
Series goal:
None
Implementation:
Implemented
Milestone target:
None
Started by
Tomoki Sekiyama
Completed by
Tomoki Sekiyama

Related branches

Sprints

Whiteboard

Gerrit topic: https://review.openstack.org/#q,topic:bp/clone-image-in-glance-cinder-backend,n,z

Addressed by: https://review.openstack.org/201754
    Efficient image download and upload for Glance Cinder backend

Addressed by: https://review.openstack.org/205320
    Support clone_image from Glance cinder backend

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

Addressed by: https://review.openstack.org/232111
    Correct subject of clone-image-in-glance-cinder-backend

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.