← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1285871] [NEW] Attempt to call strftime on a str fails revocation_list

 

Public bug reported:

This causes heat authenticated operations to fail for me locally

2014-02-28 10:25:10.084 ERROR keystone.common.wsgi [-] 'str' object has no attribute 'strftime'
2014-02-28 10:25:10.084 TRACE keystone.common.wsgi Traceback (most recent call last):
2014-02-28 10:25:10.084 TRACE keystone.common.wsgi   File "/home/steveb/dev/localstack/keystone/keystone/common/wsgi.py", line 211, in __call__
2014-02-28 10:25:10.084 TRACE keystone.common.wsgi     result = method(context, **params)
2014-02-28 10:25:10.084 TRACE keystone.common.wsgi   File "/home/steveb/dev/localstack/keystone/keystone/openstack/common/versionutils.py", line 102, in wrapped
2014-02-28 10:25:10.084 TRACE keystone.common.wsgi     return func(*args, **kwargs)
2014-02-28 10:25:10.084 TRACE keystone.common.wsgi   File "/home/steveb/dev/localstack/keystone/keystone/common/controller.py", line 131, in inner
2014-02-28 10:25:10.084 TRACE keystone.common.wsgi     return f(self, context, *args, **kwargs)
2014-02-28 10:25:10.084 TRACE keystone.common.wsgi   File "/home/steveb/dev/localstack/keystone/keystone/token/controllers.py", line 423, in revocation_list
2014-02-28 10:25:10.084 TRACE keystone.common.wsgi     t['expires'] = timeutils.isotime(expires)
2014-02-28 10:25:10.084 TRACE keystone.common.wsgi   File "/home/steveb/dev/localstack/keystone/keystone/openstack/common/timeutils.py", line 38, in isotime
2014-02-28 10:25:10.084 TRACE keystone.common.wsgi     st = at.strftime(_ISO8601_TIME_FORMAT
2014-02-28 10:25:10.084 TRACE keystone.common.wsgi AttributeError: 'str' object has no attribute 'strftime'
2014-02-28 10:25:10.084 TRACE keystone.common.wsgi

Possibly the six.text_type check should be six.string_types, but
actually that conditional should really be checking for isinstance
datetime.datetime explicitly, since that is what timeutils.isotime is
assuming.

** Affects: keystone
     Importance: Undecided
     Assignee: Steve Baker (steve-stevebaker)
         Status: In Progress

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to Keystone.
https://bugs.launchpad.net/bugs/1285871

Title:
  Attempt to call strftime on a str fails revocation_list

Status in OpenStack Identity (Keystone):
  In Progress

Bug description:
  This causes heat authenticated operations to fail for me locally

  2014-02-28 10:25:10.084 ERROR keystone.common.wsgi [-] 'str' object has no attribute 'strftime'
  2014-02-28 10:25:10.084 TRACE keystone.common.wsgi Traceback (most recent call last):
  2014-02-28 10:25:10.084 TRACE keystone.common.wsgi   File "/home/steveb/dev/localstack/keystone/keystone/common/wsgi.py", line 211, in __call__
  2014-02-28 10:25:10.084 TRACE keystone.common.wsgi     result = method(context, **params)
  2014-02-28 10:25:10.084 TRACE keystone.common.wsgi   File "/home/steveb/dev/localstack/keystone/keystone/openstack/common/versionutils.py", line 102, in wrapped
  2014-02-28 10:25:10.084 TRACE keystone.common.wsgi     return func(*args, **kwargs)
  2014-02-28 10:25:10.084 TRACE keystone.common.wsgi   File "/home/steveb/dev/localstack/keystone/keystone/common/controller.py", line 131, in inner
  2014-02-28 10:25:10.084 TRACE keystone.common.wsgi     return f(self, context, *args, **kwargs)
  2014-02-28 10:25:10.084 TRACE keystone.common.wsgi   File "/home/steveb/dev/localstack/keystone/keystone/token/controllers.py", line 423, in revocation_list
  2014-02-28 10:25:10.084 TRACE keystone.common.wsgi     t['expires'] = timeutils.isotime(expires)
  2014-02-28 10:25:10.084 TRACE keystone.common.wsgi   File "/home/steveb/dev/localstack/keystone/keystone/openstack/common/timeutils.py", line 38, in isotime
  2014-02-28 10:25:10.084 TRACE keystone.common.wsgi     st = at.strftime(_ISO8601_TIME_FORMAT
  2014-02-28 10:25:10.084 TRACE keystone.common.wsgi AttributeError: 'str' object has no attribute 'strftime'
  2014-02-28 10:25:10.084 TRACE keystone.common.wsgi

  Possibly the six.text_type check should be six.string_types, but
  actually that conditional should really be checking for isinstance
  datetime.datetime explicitly, since that is what timeutils.isotime is
  assuming.

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


Follow ups

References