I am working on our Kilo->Liberty upgrade path at present, and when upgrading
existing test Kilo controller nodes to Liberty, Keystone gets extremely weird.
When evaluating token timestamps for revocation, it looks like sometimes the
timestamps are processed as datetime.datetime objects and other times as
strings. When Keystone gets a string, it explodes (lines shortened for
readability):
[req-12f88024-cc71-429e-aea1-19dec45ac804 - - - - -] 'str' object has no
attribute 'strftime'
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/keystone/common/wsgi.py", line 248, in
__call__
result = method(context, **params)
File "/usr/lib/python2.7/dist-packages/keystone/common/controller.py", line
163, in inner
return f(self, context, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/keystone/auth/controllers.py", line
560, in revocation_list
t['expires'] = utils.isotime(expires)
File "/usr/lib/python2.7/dist-packages/keystone/common/utils.py", line 501,
in isotime
st = at.strftime(_ISO8601_TIME_FORMAT
AttributeError: 'str' object has no attribute 'strftime'
I have no idea what is causing it to sometimes be strings and sometimes not.
When it does happen, anything trying to authenticate to Keystone gets back a
401, so it renders the entire cluster useless. Flushing memcached seemed to fix
it but now does not.
Has anyone else seen anything like this?
https://review.openstack.org/#/c/302904/ seems to be a related subject, but
this is Neutron-specific.
_______________________________________________
OpenStack-operators mailing list
OpenStack-operators@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-operators