Decouple the image data transfer from the image metadata transfer for upload

Registered by Vincent Hou

When we upload an image to glance store, the image data is transferred together with the metadata in the same http request. It would be greate that the image data can be uploaded/transferred via other protocols besides http.

Instead of sending the image data and metadata with one http request, we can split into three steps.
Step 1: update/upload the image with an empty image data and the metadata to reserve an image. I suggest to add a flag like "reserve_image" into the metadata when uploading the image to indicate the metadata is sent first with an empty image. The current status of the image can be saving or "to be uploaded".
Step 2: transfer the image data via other ways.
Step 3: when the image is ready in the storage, update the image status to active. We can use another flag like "image_complete" to indicate that the image is ready in the storage.

This blueprint is also related to the image upload module(https://blueprints.launchpad.net/nova/+spec/image-upload-module-plugin) and data transfer plugin(https://blueprints.launchpad.net/nova/+spec/image-upload-module-plugin) in nova. Hope glance folks can consider it.

Blueprint information

Status:
Not started
Approver:
None
Priority:
Undefined
Drafter:
Vincent Hou
Direction:
Needs approval
Assignee:
Vincent Hou
Definition:
New
Series goal:
None
Implementation:
Unknown
Milestone target:
None

Related branches

Sprints

Whiteboard

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.