Branch: master (commitID: e233f66ecd0f30523226246bec1c2e62223344ec)
1. Using the Python glanceclient, create a blank image (no body specified).
2. Then call the image update method (from Python glanceclient), providing it the open file handle of a volume (eg. in my case a Cinder volume local path is like: '/dev/mapper/stack--volumes-volume--7441a650--9a33--4bfa--8411--4256b77a1648' and I provide the handle to this file opened in "r" mode).
Glance (ImageDeserializer) ignores the data (since Content-Length is Not Available) and the update call returns an error.
Glance should read the image data and update the metadata as well.
On providing an open file handle of a non-volume (eg. image file), the Content-Length header gets set (automatically from httplib.HTTPConnection request method) and the 'update' works fine. I have come across this issue only on trying to upload a volume to an image.