Comment 16 for bug 1812672

Revision history for this message
Corey Bryant (corey.bryant) wrote :

This recreates with Junien's testcase + eventlet.monkey_patch():

ubuntu@juju-b1ca57-coreycb2-19:~$ python3
Python 3.6.7 (default, Oct 22 2018, 11:32:17)
[GCC 8.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import eventlet
>>> eventlet.monkey_patch()
>>> from oslo_cache import _memcache_pool
>>> a=_memcache_pool.MemcacheClientPool(urls="foo", arguments={}, maxsize=10, unused_timeout=10)
>>> a._create_connection()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python3/dist-packages/oslo_cache/_memcache_pool.py", line 214, in _create_connection
    return _MemcacheClient(self.urls, **self._arguments)
TypeError: object() takes no parameters

And the base classes correspond to the nova-api-os-compute failure case:
inspect.getmro(_MemcacheClient)=(<class 'oslo_cache._memcache_pool._MemcacheClient'>, <class 'memcache.Client'>, <class 'eventlet.corolocal.local'>, <class 'eventlet.corolocal._localbase'>, <class 'object'>)