Public bug reported:

Sometimes in our deployment we get a 500 error from token validation. 

Here's the traceback in the log file:

 [req-b9109488-f02c-467e-b89c-44841d3778a3 e9ac624f6cd546eaac4e897371665b73 
293f917033b246ac8d0df7b77db77369 - default default] __init__() keywords must be 
strings
 Traceback (most recent call last):
   File "keystone/local/lib/python2.7/site-packages/keystone/common/wsgi.py", 
line 381, in _inner
     return method(self, request)
   File 
"keystone/local/lib/python2.7/site-packages/keystone/middleware/auth.py", line 
141, in process_request
     resp = super(AuthContextMiddleware, self).process_request(request)
   File 
"keystone/local/lib/python2.7/site-packages/keystonemiddleware/auth_token/__init__.py",
 line 356, in process_request
     data, user_auth_ref = self._do_fetch_token(request.user_token)
   File 
"keystone/local/lib/python2.7/site-packages/keystonemiddleware/auth_token/__init__.py",
 line 396, in _do_fetch_token
     data = self.fetch_token(token)
   File 
"keystone/local/lib/python2.7/site-packages/keystone/middleware/auth.py", line 
52, in fetch_token
     return self.token_provider_api.validate_token(token)
   File 
"keystone/local/lib/python2.7/site-packages/keystone/common/manager.py", line 
124, in wrapped
     __ret_val = __f(*args, **kwargs)
   File 
"keystone/local/lib/python2.7/site-packages/keystone/token/provider.py", line 
215, in validate_token
     self._is_valid_token(token)
   File 
"keystone/local/lib/python2.7/site-packages/keystone/token/provider.py", line 
348, in _is_valid_token
     self.check_revocation(token)
   File 
"keystone/local/lib/python2.7/site-packages/keystone/common/manager.py", line 
124, in wrapped
     __ret_val = __f(*args, **kwargs)
   File 
"keystone/local/lib/python2.7/site-packages/keystone/token/provider.py", line 
270, in check_revocation
     return self.check_revocation_v3(token)
   File 
"keystone/local/lib/python2.7/site-packages/keystone/common/manager.py", line 
124, in wrapped
     __ret_val = __f(*args, **kwargs)
   File 
"keystone/local/lib/python2.7/site-packages/keystone/token/provider.py", line 
263, in check_revocation_v3
     self.revoke_api.check_token(token_values)
   File 
"keystone/local/lib/python2.7/site-packages/keystone/common/manager.py", line 
124, in wrapped
     __ret_val = __f(*args, **kwargs)
   File "keystone/local/lib/python2.7/site-packages/keystone/revoke/core.py", 
line 207, in check_token
     if revoke_model.is_revoked(self.list_events(), token_values):
   File 
"keystone/local/lib/python2.7/site-packages/keystone/common/manager.py", line 
124, in wrapped
     __ret_val = __f(*args, **kwargs)
   File "keystone/local/lib/python2.7/site-packages/keystone/revoke/core.py", 
line 83, in list_events
     return self._list_events(last_fetch)
   File "keystone/local/lib/python2.7/site-packages/dogpile/cache/region.py", 
line 1053, in decorate
     should_cache_fn)
   File "keystone/local/lib/python2.7/site-packages/dogpile/cache/region.py", 
line 657, in get_or_create
     async_creator) as value:
   File "keystone/local/lib/python2.7/site-packages/dogpile/lock.py", line 154, 
in __enter__
     return self._enter()
   File "keystone/local/lib/python2.7/site-packages/dogpile/lock.py", line 87, 
in _enter
     value = value_fn()
   File "keystone/local/lib/python2.7/site-packages/dogpile/cache/region.py", 
line 610, in get_value
     value = self.backend.get(key)
   File 
"keystone/local/lib/python2.7/site-packages/keystone/common/cache/_context_cache.py",
 line 75, in get
     value = self._get_local_cache(key)
   File 
"keystone/local/lib/python2.7/site-packages/keystone/common/cache/_context_cache.py",
 line 59, in _get_local_cache
     value = msgpackutils.loads(value)
   File 
"keystone/local/lib/python2.7/site-packages/oslo_serialization/msgpackutils.py",
 line 487, in loads
     return msgpack.unpackb(s, ext_hook=ext_hook, encoding='utf-8')
   File "msgpack/_unpacker.pyx", line 139, in msgpack._unpacker.unpackb 
(msgpack/_unpacker.cpp:139)
   File 
"keystone/local/lib/python2.7/site-packages/oslo_serialization/msgpackutils.py",
 line 401, in _unserializer
     return handler.deserialize(data)
   File 
"keystone/local/lib/python2.7/site-packages/keystone/models/revoke_model.py", 
line 348, in deserialize
     revoke_event = RevokeEvent(**revoke_event_data)
 TypeError: __init__() keywords must be strings

** Affects: keystone
     Importance: Undecided
     Assignee: Brant Knudson (blk-u)
         Status: In Progress

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

Title:
  500 error from revocation event deserialize

Status in OpenStack Identity (keystone):
  In Progress

Bug description:
  
  Sometimes in our deployment we get a 500 error from token validation. 

  Here's the traceback in the log file:

   [req-b9109488-f02c-467e-b89c-44841d3778a3 e9ac624f6cd546eaac4e897371665b73 
293f917033b246ac8d0df7b77db77369 - default default] __init__() keywords must be 
strings
   Traceback (most recent call last):
     File "keystone/local/lib/python2.7/site-packages/keystone/common/wsgi.py", 
line 381, in _inner
       return method(self, request)
     File 
"keystone/local/lib/python2.7/site-packages/keystone/middleware/auth.py", line 
141, in process_request
       resp = super(AuthContextMiddleware, self).process_request(request)
     File 
"keystone/local/lib/python2.7/site-packages/keystonemiddleware/auth_token/__init__.py",
 line 356, in process_request
       data, user_auth_ref = self._do_fetch_token(request.user_token)
     File 
"keystone/local/lib/python2.7/site-packages/keystonemiddleware/auth_token/__init__.py",
 line 396, in _do_fetch_token
       data = self.fetch_token(token)
     File 
"keystone/local/lib/python2.7/site-packages/keystone/middleware/auth.py", line 
52, in fetch_token
       return self.token_provider_api.validate_token(token)
     File 
"keystone/local/lib/python2.7/site-packages/keystone/common/manager.py", line 
124, in wrapped
       __ret_val = __f(*args, **kwargs)
     File 
"keystone/local/lib/python2.7/site-packages/keystone/token/provider.py", line 
215, in validate_token
       self._is_valid_token(token)
     File 
"keystone/local/lib/python2.7/site-packages/keystone/token/provider.py", line 
348, in _is_valid_token
       self.check_revocation(token)
     File 
"keystone/local/lib/python2.7/site-packages/keystone/common/manager.py", line 
124, in wrapped
       __ret_val = __f(*args, **kwargs)
     File 
"keystone/local/lib/python2.7/site-packages/keystone/token/provider.py", line 
270, in check_revocation
       return self.check_revocation_v3(token)
     File 
"keystone/local/lib/python2.7/site-packages/keystone/common/manager.py", line 
124, in wrapped
       __ret_val = __f(*args, **kwargs)
     File 
"keystone/local/lib/python2.7/site-packages/keystone/token/provider.py", line 
263, in check_revocation_v3
       self.revoke_api.check_token(token_values)
     File 
"keystone/local/lib/python2.7/site-packages/keystone/common/manager.py", line 
124, in wrapped
       __ret_val = __f(*args, **kwargs)
     File "keystone/local/lib/python2.7/site-packages/keystone/revoke/core.py", 
line 207, in check_token
       if revoke_model.is_revoked(self.list_events(), token_values):
     File 
"keystone/local/lib/python2.7/site-packages/keystone/common/manager.py", line 
124, in wrapped
       __ret_val = __f(*args, **kwargs)
     File "keystone/local/lib/python2.7/site-packages/keystone/revoke/core.py", 
line 83, in list_events
       return self._list_events(last_fetch)
     File "keystone/local/lib/python2.7/site-packages/dogpile/cache/region.py", 
line 1053, in decorate
       should_cache_fn)
     File "keystone/local/lib/python2.7/site-packages/dogpile/cache/region.py", 
line 657, in get_or_create
       async_creator) as value:
     File "keystone/local/lib/python2.7/site-packages/dogpile/lock.py", line 
154, in __enter__
       return self._enter()
     File "keystone/local/lib/python2.7/site-packages/dogpile/lock.py", line 
87, in _enter
       value = value_fn()
     File "keystone/local/lib/python2.7/site-packages/dogpile/cache/region.py", 
line 610, in get_value
       value = self.backend.get(key)
     File 
"keystone/local/lib/python2.7/site-packages/keystone/common/cache/_context_cache.py",
 line 75, in get
       value = self._get_local_cache(key)
     File 
"keystone/local/lib/python2.7/site-packages/keystone/common/cache/_context_cache.py",
 line 59, in _get_local_cache
       value = msgpackutils.loads(value)
     File 
"keystone/local/lib/python2.7/site-packages/oslo_serialization/msgpackutils.py",
 line 487, in loads
       return msgpack.unpackb(s, ext_hook=ext_hook, encoding='utf-8')
     File "msgpack/_unpacker.pyx", line 139, in msgpack._unpacker.unpackb 
(msgpack/_unpacker.cpp:139)
     File 
"keystone/local/lib/python2.7/site-packages/oslo_serialization/msgpackutils.py",
 line 401, in _unserializer
       return handler.deserialize(data)
     File 
"keystone/local/lib/python2.7/site-packages/keystone/models/revoke_model.py", 
line 348, in deserialize
       revoke_event = RevokeEvent(**revoke_event_data)
   TypeError: __init__() keywords must be strings

To manage notifications about this bug go to:
https://bugs.launchpad.net/keystone/+bug/1609566/+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