Fix broken-pipe seen in glance-api

When file size is an exact multiple of chunk_size, glance client
is processing EOF in image-data as a chunk and sends to
glance-api. The server treats this as the end of chunked 
transmission and sends a http response.

When the actual last chunk is sent by the 'requests' library, the
server sends a 400 response and tracebacks with broken pipe
as the client has already closed the socket.

Closes-Bug: #1342080
Change-Id: Icdbff838450db1c252ddc919a230a7d3ca16765f
This commit is contained in:
Sabari Kumar Murugesan 2014-12-18 16:52:07 -08:00 committed by Sabari
parent 0cdc947bf9
commit e3600ad7be
1 changed files with 2 additions and 0 deletions

View File

@ -168,6 +168,8 @@ class HTTPClient(object):
chunk = body
while chunk:
chunk = body.read(CHUNKSIZE)
if chunk == '':
break
yield chunk
data = kwargs.pop("data", None)