-
Task
-
Resolution: Done
-
Critical
-
None
-
None
-
None
-
Sprint 4, Sprint 6
-
2
-
Critical
Goal:
The WSGI module of oslo.service was entirely planed for removal, however, on the `Server` class of this WSGI module relies on Eventlet. All the other classes of this module are utilities that need to remains incorporated into oslo.service while they are not extracted into a new oslo library (oslo.sgi? oslo.wsgi? oslo.asgi?) dedicated to server gateway interface.
The problem is that, as this WSGI module was fully tagged for removal, it was not integrated into the backend logic. It is imported in a direct manner. But as said previously the `Server` class is planed for removal, where the other classes of this modules are not, meanning that we have 2 different use cases and so giving us a reason to integrate it into the backend logic.
The other classes needs to remains accessible even if the threading backend is chosen. The `Server` class should be accessible only if the user run oslo.service in the Eventlet mode.
If we do not do that oslo.service will breaks lot of services:
- https://opendev.org/openstack/neutron/src/branch/master/neutron/api/wsgi.py#L94
- https://opendev.org/openstack/manila/src/branch/master/manila/api/openstack/__init__.py#L142
- https://opendev.org/openstack/cinder/src/branch/master/cinder/api/openstack/__init__.py#L104
- and so on...
Acceptance Criteria:
The remaining utilities of the WSGI module should be moved to the common mechanism of backends, and where the `Server` class must be only accessible in the Eventlet mode.
This module should be splitted in meaningful parts that should be moved into the right backend submodules.
Services should continue to works with these utilities in a transparent way without breaking their execution.