[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:
committed by
Rodolfo Alonso
parent
322122bc8c
commit
d6ae46d005
@@ -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
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
@@ -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`_.
|
||||
|
||||
@@ -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
|
||||
--------------------------
|
||||
|
||||
|
||||
Reference in New Issue
Block a user