Hello,

In trying to understand the Keystone Grizzly-3 release, I decided to add a 
service via a REST API call using an admin user's token instead of the admin 
token found in keystone.conf. When I do I get error:


Traceback (most recent call last):
  File 
"/usr/local/lib/python2.7/dist-packages/keystone-2013.1.g3-py2.7.egg/keystone/common/wsgi.py",
 line 231, in __call__
    result = method(context, **params)
  File 
"/usr/local/lib/python2.7/dist-packages/keystone-2013.1.g3-py2.7.egg/keystone/common/controller.py",
 line 66, in wrapper
    context, kwargs)
  File 
"/usr/local/lib/python2.7/dist-packages/keystone-2013.1.g3-py2.7.egg/keystone/common/controller.py",
 line 32, in _build_policy_check_credentials
    token_data = token_ref['token_data']
KeyError: 'token_data'
(access): 2013-03-01 13:53:26,754 INFO 15.253.58.148 - - [01/Mar/2013:21:53:26 
+0000] "POST http://15.253.58.165:35357/v3/services HTTP/1.0" 500 156
(eventlet.wsgi.server): 2013-03-01 13:53:26,755 DEBUG 15.253.58.148 - - 
[01/Mar/2013 13:53:26] "POST /v3/services HTTP/1.1" 500 328 0.020434


When I change line 32 in the file from "token_data = token_ref['token_data']" 
to "token_data = token_ref", the code appears to work.


def _build_policy_check_credentials(self, action, context, kwargs):

    LOG.debug(_('RBAC: Authorizing %s(%s)') % (
        action,
        ', '.join(['%s=%s' % (k, kwargs[k]) for k in kwargs])))

    try:
        token_ref = self.token_api.get_token(
            context=context, token_id=context['token_id'])
    except exception.TokenNotFound:
        LOG.warning(_('RBAC: Invalid token'))
        raise exception.Unauthorized()

    creds = {}

#   token_data = token_ref['token_data']
    token_data = token_ref


So my question is do I need to have "token_data" in the token table somehow or 
is this a code bug?

Regards,

Mark Miller
_______________________________________________
Mailing list: https://launchpad.net/~openstack
Post to     : openstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp

Reply via email to