memcache client super() fail

Bug #1782448 reported by iain MacDonnell
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
keystonemiddleware
In Progress
Undecided
iain MacDonnell

Bug Description

Applies to Pike, but not later releases...

When configured to use the memcache connection pool, clients (e.g. neutron-server) fail with:

2018-07-18 21:00:32.568 14810 ERROR oslo_middleware.catch_errors Traceback (most recent call last):
2018-07-18 21:00:32.568 14810 ERROR oslo_middleware.catch_errors File "/usr/lib/python2.7/site-packages/oslo_middleware/catch_errors.py", line 40, in __call__
2018-07-18 21:00:32.568 14810 ERROR oslo_middleware.catch_errors response = req.get_response(self.application)
2018-07-18 21:00:32.568 14810 ERROR oslo_middleware.catch_errors File "/usr/lib/python2.7/site-packages/webob/request.py", line 1316, in send
2018-07-18 21:00:32.568 14810 ERROR oslo_middleware.catch_errors application, catch_exc_info=False)
2018-07-18 21:00:32.568 14810 ERROR oslo_middleware.catch_errors File "/usr/lib/python2.7/site-packages/webob/request.py", line 1280, in call_application
2018-07-18 21:00:32.568 14810 ERROR oslo_middleware.catch_errors app_iter = application(self.environ, start_response)
2018-07-18 21:00:32.568 14810 ERROR oslo_middleware.catch_errors File "/usr/lib/python2.7/site-packages/webob/dec.py", line 131, in __call__
2018-07-18 21:00:32.568 14810 ERROR oslo_middleware.catch_errors resp = self.call_func(req, *args, **self.kwargs)
2018-07-18 21:00:32.568 14810 ERROR oslo_middleware.catch_errors File "/usr/lib/python2.7/site-packages/webob/dec.py", line 196, in call_func
2018-07-18 21:00:32.568 14810 ERROR oslo_middleware.catch_errors return self.func(req, *args, **kwargs)
2018-07-18 21:00:32.568 14810 ERROR oslo_middleware.catch_errors File "/usr/lib/python2.7/site-packages/keystonemiddleware/auth_token/__init__.py", line 331, in __call__
2018-07-18 21:00:32.568 14810 ERROR oslo_middleware.catch_errors response = self.process_request(req)
2018-07-18 21:00:32.568 14810 ERROR oslo_middleware.catch_errors File "/usr/lib/python2.7/site-packages/keystonemiddleware/auth_token/__init__.py", line 622, in process_request
2018-07-18 21:00:32.568 14810 ERROR oslo_middleware.catch_errors resp = super(AuthProtocol, self).process_request(request)
2018-07-18 21:00:32.568 14810 ERROR oslo_middleware.catch_errors File "/usr/lib/python2.7/site-packages/keystonemiddleware/auth_token/__init__.py", line 404, in process_request
2018-07-18 21:00:32.568 14810 ERROR oslo_middleware.catch_errors allow_expired=allow_expired)
2018-07-18 21:00:32.568 14810 ERROR oslo_middleware.catch_errors File "/usr/lib/python2.7/site-packages/keystonemiddleware/auth_token/__init__.py", line 434, in _do_fetch_token
2018-07-18 21:00:32.568 14810 ERROR oslo_middleware.catch_errors data = self.fetch_token(token, **kwargs)
2018-07-18 21:00:32.568 14810 ERROR oslo_middleware.catch_errors File "/usr/lib/python2.7/site-packages/keystonemiddleware/auth_token/__init__.py", line 736, in fetch_token
2018-07-18 21:00:32.568 14810 ERROR oslo_middleware.catch_errors cached = self._cache_get_hashes(token_hashes)
2018-07-18 21:00:32.568 14810 ERROR oslo_middleware.catch_errors File "/usr/lib/python2.7/site-packages/keystonemiddleware/auth_token/__init__.py", line 719, in _cache_get_hashes
2018-07-18 21:00:32.568 14810 ERROR oslo_middleware.catch_errors cached = self._token_cache.get(token)
2018-07-18 21:00:32.568 14810 ERROR oslo_middleware.catch_errors File "/usr/lib/python2.7/site-packages/keystonemiddleware/auth_token/_cache.py", line 214, in get
2018-07-18 21:00:32.568 14810 ERROR oslo_middleware.catch_errors with self._cache_pool.reserve() as cache:
2018-07-18 21:00:32.568 14810 ERROR oslo_middleware.catch_errors File "/usr/lib64/python2.7/contextlib.py", line 17, in __enter__
2018-07-18 21:00:32.568 14810 ERROR oslo_middleware.catch_errors return self.gen.next()
2018-07-18 21:00:32.568 14810 ERROR oslo_middleware.catch_errors File "/usr/lib/python2.7/site-packages/keystonemiddleware/auth_token/_cache.py", line 98, in reserve
2018-07-18 21:00:32.568 14810 ERROR oslo_middleware.catch_errors with self._pool.get() as client:
2018-07-18 21:00:32.568 14810 ERROR oslo_middleware.catch_errors File "/usr/lib/python2.7/site-packages/eventlet/queue.py", line 295, in get
2018-07-18 21:00:32.568 14810 ERROR oslo_middleware.catch_errors return self._get()
2018-07-18 21:00:32.568 14810 ERROR oslo_middleware.catch_errors File "/usr/lib/python2.7/site-packages/keystonemiddleware/auth_token/_memcache_pool.py", line 149, in _get
2018-07-18 21:00:32.568 14810 ERROR oslo_middleware.catch_errors conn = ConnectionPool._get(self)
2018-07-18 21:00:32.568 14810 ERROR oslo_middleware.catch_errors File "/usr/lib/python2.7/site-packages/keystonemiddleware/auth_token/_memcache_pool.py", line 97, in _get
2018-07-18 21:00:32.568 14810 ERROR oslo_middleware.catch_errors conn = self._create_connection()
2018-07-18 21:00:32.568 14810 ERROR oslo_middleware.catch_errors File "/usr/lib/python2.7/site-packages/keystonemiddleware/auth_token/_memcache_pool.py", line 143, in _create_connection
2018-07-18 21:00:32.568 14810 ERROR oslo_middleware.catch_errors socket_timeout=self._socket_timeout)
2018-07-18 21:00:32.568 14810 ERROR oslo_middleware.catch_errors File "/usr/lib/python2.7/site-packages/memcache.py", line 223, in __init__
2018-07-18 21:00:32.568 14810 ERROR oslo_middleware.catch_errors super(Client, self).__init__()
2018-07-18 21:00:32.568 14810 ERROR oslo_middleware.catch_errors TypeError: super(type, obj): obj must be an instance or subtype of type

Revision history for this message
iain MacDonnell (imacdonn) wrote :

Need to apply the same fix as in https://review.openstack.org/#/c/175291/

affects: keystone → keystonemiddleware
Changed in keystonemiddleware:
assignee: nobody → iain MacDonnell (imacdonn)
description: updated
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to keystonemiddleware (stable/pike)

Fix proposed to branch: stable/pike
Review: https://review.openstack.org/583835

Changed in keystonemiddleware:
status: New → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Change abandoned on keystonemiddleware (stable/pike)

Change abandoned by "Elod Illes <email address hidden>" on branch: stable/pike
Review: https://review.opendev.org/c/openstack/keystonemiddleware/+/583835
Reason: stable/pike transitioned to End of Life for this deliverable, all open patches need to be abandoned to be able to delete the branch.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.