← Back to team overview

yahoo-eng-team team mailing list archive

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

 

Public bug reported:

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.

** Affects: keystone
     Importance: Undecided
     Assignee: wangxiyuan (wangxiyuan)
         Status: New

** Changed in: keystone
     Assignee: (unassigned) => wangxiyuan (wangxiyuan)

-- 
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):
  New

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


Follow ups