Public bug reported:

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.availability_zones.set_availability_zones and 
it will update cache every time, since cellv2 is enabled, this method is 
running in an co-routine as well
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

** Affects: nova
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1995029

Title:
  list os-service causing reconnects to memcached all the time

Status in OpenStack Compute (nova):
  New

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.availability_zones.set_availability_zones 
and it will update cache every time, since cellv2 is enabled, this method is 
running in an co-routine as well
  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

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1995029/+subscriptions


-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to     : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp

Reply via email to