Enable working as wsgi application of standard web server (Apache)
This blueprint focuses on enabling Swift to run as a wsgi application of Apache via mod_wsgi, but is designed to also address the more general need to allow using a fully features web server as a front end of open stack components.
A thin wsgi interface is added in openstack common files, enabling open-stack components to interface a standard web server (E.g. Apache2) via wsgi.
Using this interface, a standard mature and full fledged web server can be used as a web front end, feeding the openstack components via standard wsgi interface.
This interface therefore offers an option (but does not mandate) to replace the current python web front end with a standard web server.
Alternatively, it offers a more efficient interface between a web server and the openstack components.
In order for an openstack component to work as a wsgi application, the component needs to comply with the wsgi standard. For example Apache with mod_wsgi is not forgiving to certain violations of the standard.
Included in this work is a set of bug fixes to get the swift code to comply with the wsgi standard and work with Apache mod_wsgi.
The interface and bug fixes aim to maintain the current Swift functionality, while measured performance in swift using the existing web front end and an alternative Apache are comparable.
Blueprint information
- Status:
- Started
- Approver:
- John Dickinson
- Priority:
- Undefined
- Drafter:
- David Hadas
- Direction:
- Needs approval
- Assignee:
- David Hadas
- Definition:
- New
- Series goal:
- None
- Implementation:
- Good progress
- Milestone target:
- None
- Started by
- David Hadas
- Completed by
Related branches
Related bugs
Bug #1068026: utf-8 in metadata and http header names | Fix Released |
Bug #1068499: Dual personality MIME type during test | Fix Released |
Bug #1070025: Non standard 100-continue behaviour | Fix Released |
Bug #1070036: Ilegal chunk encoding by the test_client | Fix Released |
Sprints
Whiteboard
Gerrit topic: https:/
Addressed by: https:/
BLUEPRINT: wsgi-applicatio
Gerrit topic: https:/
Addressed by: https:/
Fixes Ilegal chunk encoding by the test_client
Gerrit topic: https:/
Addressed by: https:/
Two MIME types sent during test
Gerrit topic: https:/
Addressed by: https:/
Fix non standard 100-continue behaviour
Gerrit topic: https:/
Addressed by: https:/
Separate wsgi init from web-front-end activation
Gerrit topic: https:/
Addressed by: https:/
Remove utf-8 in metadata and http header names
Addressed by: https:/
Handle IOError
Addressed by: https:/
Support tests for Apache