← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1733754] Re: 500 error if OS-TRUST:trust is not a dict when authenticate

 

Reviewed:  https://review.openstack.org/522107
Committed: https://git.openstack.org/cgit/openstack/keystone/commit/?id=4c824c8088e359d4fd9434e01d1652a26b905335
Submitter: Zuul
Branch:    master

commit 4c824c8088e359d4fd9434e01d1652a26b905335
Author: wangxiyuan <wangxiyuan@xxxxxxxxxx>
Date:   Wed Nov 22 11:41:35 2017 +0800

    Add schema check for OS-TRUST:trust authentication
    
    If the OS-TRUST:trust is not a dict when authenticating,
    Keystone will raise 500 error. This patch add the
    related schema check to avoid the error.
    
    Change-Id: I575440fa507c5274e0c3bc09f4cfcb9b3d91a28c
    Closes-bug: #1733754


** Changed in: keystone
       Status: In Progress => Fix Released

-- 
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/1733754

Title:
  500 error if OS-TRUST:trust is not a dict when  authenticate

Status in OpenStack Identity (keystone):
  Fix Released

Bug description:
  env: master branch

  when user try to issue a token with OS-TRUST:trust if OS-TRUST:trust is not a dict, keystone will raise 500 error:
  SZX1000339032 devstack@keystone.service[12272]: ERROR keystone.common.wsgi Traceback (most recent call last):
  Nov 07 16:46:18 SZX1000339032 devstack@keystone.service[12272]: ERROR keystone.common.wsgi   File "/opt/stack/keystone/keystone/common/wsgi.py", line 228, in __call__
  Nov 07 16:46:18 SZX1000339032 devstack@keystone.service[12272]: ERROR keystone.common.wsgi     LOG.warning(
  Nov 07 16:46:18 SZX1000339032 devstack@keystone.service[12272]: ERROR keystone.common.wsgi   File "/opt/stack/keystone/keystone/auth/controllers.py", line 114, in authenticate_for_token
  Nov 07 16:46:18 SZX1000339032 devstack@keystone.service[12272]: ERROR keystone.common.wsgi     auth_info = core.AuthInfo.create(auth=auth)
  Nov 07 16:46:18 SZX1000339032 devstack@keystone.service[12272]: ERROR keystone.common.wsgi   File "/opt/stack/keystone/keystone/auth/core.py", line 142, in create
  Nov 07 16:46:18 SZX1000339032 devstack@keystone.service[12272]: ERROR keystone.common.wsgi     auth_info._validate_and_normalize_auth_data(scope_only)
  Nov 07 16:46:18 SZX1000339032 devstack@keystone.service[12272]: ERROR keystone.common.wsgi   File "/opt/stack/keystone/keystone/auth/core.py", line 295, in _validate_and_normalize_auth_data
  Nov 07 16:46:18 SZX1000339032 devstack@keystone.service[12272]: ERROR keystone.common.wsgi     self._validate_and_normalize_scope_data()
  Nov 07 16:46:18 SZX1000339032 devstack@keystone.service[12272]: ERROR keystone.common.wsgi   File "/opt/stack/keystone/keystone/auth/core.py", line 255, in _validate_and_normalize_scope_dat
  Nov 07 16:46:18 SZX1000339032 devstack@keystone.service[12272]: ERROR keystone.common.wsgi     self.auth['scope']['OS-TRUST:trust'])
  Nov 07 16:46:18 SZX1000339032 devstack@keystone.service[12272]: ERROR keystone.common.wsgi   File "/opt/stack/keystone/keystone/auth/core.py", line 224, in _lookup_trust
  Nov 07 16:46:18 SZX1000339032 devstack@keystone.service[12272]: ERROR keystone.common.wsgi     trust_id = trust_info.get('id')
  Nov 07 16:46:18 SZX1000339032 devstack@keystone.service[12272]: ERROR keystone.common.wsgi AttributeError: 'str' object has no attribute 'get'

  Keystone should add OS-TRUST:trust into the schema check as well.

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


References