[eventlet-removal] Remove some references from the documentation

Signed-off-by: Rodolfo Alonso Hernandez <ralonsoh@redhat.com>
Change-Id: I58d00a897f45ab960cb89e63cd1202b1402019a2
This commit is contained in:
Rodolfo Alonso Hernandez
2025-10-26 21:24:29 +00:00
committed by Rodolfo Alonso
parent 322122bc8c
commit d6ae46d005
3 changed files with 4 additions and 47 deletions

View File

@@ -157,18 +157,6 @@ commands and interacting with linux utils.
versions. Instead, sanity checks should validate actual features by
attempting to use them.
Eventlet concurrent model
~~~~~~~~~~~~~~~~~~~~~~~~~
Document common pitfalls as well as good practices done when using eventlet
and monkey patching.
* Do not use with_lockmode('update') on SQL queries without protecting the
operation with a lockutils semaphore. For some SQLAlchemy database drivers
that operators may choose (e.g. MySQLdb) it may result in a temporary
deadlock by yielding to another coroutine while holding the DB lock.
The following wiki provides more details:
https://wiki.openstack.org/wiki/OpenStack_and_SQLAlchemy#MySQLdb_.2B_eventlet_.3D_sad
Mocking and testing
~~~~~~~~~~~~~~~~~~~

View File

@@ -33,23 +33,14 @@ Server Gateway Interface (WSGI) - defined in `PEP 333 <http://legacy.python.org/
Startup
-------
Neutron's WSGI server is started from the `server module <http://opendev.org/openstack/neutron/src/neutron/server/__init__.py>`_
and the entry point `serve_wsgi` is called to build an instance of the
`NeutronApiService`_, which is then returned to the server module,
which spawns a `Eventlet`_ `GreenPool`_ that will run the WSGI
application and respond to requests from clients.
.. _NeutronApiService: http://opendev.org/openstack/neutron/src/neutron/service.py
.. _Eventlet: http://eventlet.net/
.. _GreenPool: http://eventlet.net/doc/modules/greenpool.html
Neutron's WSGI server is started from then module pointed in the
``neutron-api-uwsgi.ini`` file. By default is ``neutron.wsgi.api:application``
and starts in the `API server <https://opendev.org/openstack/neutron/src/branch/master/neutron/server/api.py>`_.
WSGI Application
----------------
During the building of the NeutronApiService, the `_run_wsgi` function
During the building of the NeutronApiService, the `api_server` function
creates a WSGI application using the `load_paste_app` function inside
`config.py`_ - which parses `api-paste.ini`_ - in order to create a WSGI app
using `Paste`_'s `deploy`_.

View File

@@ -55,28 +55,6 @@ other locations. Developers responsible for those agents are welcome to apply
the guideline above.
Interacting with Eventlet
-------------------------
Neutron extensively utilizes the eventlet library to provide asynchronous
concurrency model to its services. To utilize it correctly, the following
should be kept in mind.
If a service utilizes the eventlet library, then it should not call
eventlet.monkey_patch() directly but instead maintain its entry point main()
function under neutron/cmd/eventlet/... If that is the case, the standard
Python library will be automatically patched for the service on entry point
import (monkey patching is done inside `python package file
<http://opendev.org/openstack/neutron/src/neutron/cmd/eventlet/__init__.py>`_).
Note: an entry point 'main()' function may just be an indirection to a real
callable located elsewhere, as is done for reference services such as DHCP, L3
and the neutron-server.
For more info on the rationale behind the code tree setup, see `the
corresponding cross-project spec <https://review.opendev.org/154642>`_.
Connecting to the Database
--------------------------