bf7887a102
Since the WebOb 1.7 release webob doesn't natively support receiving chunked transfer encoding bodies. [1] When glance is run under the eventlet wsgi server this was fine, because eventlet will dechunk the input on read() (or readline()) calls, so from the webob perspective it's just a file object. However, the effort to remove the dependence on using eventlet as the web server and deploy glance as a traditional wsgi script we lose this mechanism. The wsgi spec doesn't provide a consistent mechanism When we run glance under uwsgi the uwsgi server provides an api to read chunked data. [2] However, we need to explicitly call that api when to dechunk the data and pass it to glance code which expects a file object. This commit solves this issue by creating a fake file class that will call the chunked_read() api from uwsgi on read() calls. This object is then used if we're running the api code under uwsgi and the body has a chunked transfer-encoding. In conjuction with devstack change Iab2e2848877fa1497008d18c05b0154892941589 this closes glance bug 1703856 [1] https://docs.pylonsproject.org/projects/webob/en/stable/whatsnew-1.7.html#backwards-incompatibility [2] http://uwsgi-docs.readthedocs.io/en/latest/Chunked.html Partial-bug 1703856 Co-Authored-By: Chris Dent <cdent@anticdent.org> Change-Id: Idf6b4b891ba31cccbeb53d373b40fce5380cea64 |
||
---|---|---|
api-ref/source | ||
doc/source | ||
etc | ||
glance | ||
httpd | ||
rally-jobs | ||
releasenotes | ||
tools | ||
.coveragerc | ||
.gitignore | ||
.gitreview | ||
.mailmap | ||
.testr.conf | ||
babel.cfg | ||
bandit.yaml | ||
CONTRIBUTING.rst | ||
HACKING.rst | ||
LICENSE | ||
pylintrc | ||
README.rst | ||
requirements.txt | ||
setup.cfg | ||
setup.py | ||
test-requirements.txt | ||
tox.ini |
Team and repository tags
Glance
Glance is a project that provides services and associated libraries to store, browse, share, distribute and manage bootable disk images, other data closely associated with initializing compute resources, and metadata definitions.
Use the following resources to learn more:
API
To learn how to use Glance's API, consult the documentation available online at:
Developers
For information on how to contribute to Glance, please see the contents of the CONTRIBUTING.rst in this repository.
Any new code must follow the development guidelines detailed in the HACKING.rst file, and pass all unit tests.
Further developer focused documentation is available at:
Operators
To learn how to deploy and configure OpenStack Glance, consult the documentation available online at:
In the unfortunate event that bugs are discovered, they should be reported to the appropriate bug tracker. You can raise bugs here:
Other Information
During each design summit, we agree on what the whole community wants to focus on for the upcoming release. You can see image service plans:
For more information about the Glance project please see: