list os-service causing reconnects to memcached all the time
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Compute (nova) |
Won't Fix
|
Undecided
|
Unassigned |
Bug Description
Description
===========
we are running a victoria openstack cluster (python3). and I observe that everytime when an openstack compute service list executed, nova-api will create a new connection to memcache. Actually there are several reasons to cause this behavior
1. when running natively with eventlet's wsgi server, everytime a new coroutine is created to host web request and this causes keystonemiddle auth_token which uses python-memcached to reconnect to memcahced all the time
2. os-services will trigger nova.availabili
3. python-memcached's Client is inheriting from threading.local which will be monkey_patched to use eventlet's implementation and thus for every co-routine context it will create a new connection
Steps to reproduce
==================
1. Patch def _get_socket and print connection
2. execute openstack compute service list
Expected result
===============
Maintain stable connections to memcached
Actual result
=============
Reconnects
Environment
===========
1. devstack victoria openstack
Hi, running nova-api or nova-metadata-api using the eventlet server was deprecated in the Rocky release [1] and is no longer supported.
API services can and should be run using WSGI servers such as uwsgi or mod_wsgi:
https:/ /docs.openstack .org/nova/ latest/ user/wsgi. html
If you encounter issues running under one of these servers, please feel free to re-open this bug or open a new bug and we will take a look.
[1] https:/ /docs.openstack .org/releasenot es/nova/ rocky.html# deprecation- notes