Make provision to bypass chunked transfer encoding

Registered by Abhishek Kekane

As python-glanceclients uploads image data with "Transer-Encoding: chunked", the requests library does not support transferring the header "Content-Length" with the request. This works fine in most cases but can become an issue if Glance is using Cinder as the backend. An HTTP chunked transfer inherently has no known data size and because of this Glance will perform an iterative "resize-before-write" process to gradually grow the Cinder volume 1 GB at a time until it receives the last of the image data. The problem
with this is that the Cinder volume must be detached and then re-attached each iteration. This process can be very slow.

This is also the case when glance is using ceph (RBD) as a backend where it does this "resize-before-write" operation as well which can be time consuming.

If you configure glance to use s3 as a backend then you will not be able to use multipart-upload feature of s3 backend as you don't know the image size3 in advance.

Blueprint information

Status:
Complete
Approver:
Abhishek Kekane
Priority:
Undefined
Drafter:
Abhishek Kekane
Direction:
Needs approval
Assignee:
melanie witt
Definition:
Obsolete
Series goal:
None
Implementation:
Unknown
Milestone target:
None
Completed by
Abhishek Kekane

Related branches

Sprints

Whiteboard

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.