← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1276221] Re: Keystone returns HTTP 400 as SQLAlchemy raises None exceptions

 

It doesn't sound like there's anything to fix in keystone then, if this
is due to dependency version(s) already documented as unsupported.

** Changed in: keystone
       Status: Incomplete => Invalid

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

Title:
   Keystone returns HTTP 400 as SQLAlchemy raises None exceptions

Status in OpenStack Identity (Keystone):
  Invalid

Bug description:
  With RDO-Icehouse (m2 testday packages) on RHEL-6.5,
  negative Tempest identity tests fails as Keystone responds with HTTP 400.

  For example test
  tempest.api.identity.admin.v3.test_projects.ProjectsTestJSON.test_project_create_duplicate
  gives following output:

  > Request: POST http://192.168.1.16:35357/v3/projects
  > Request Headers: {'Content-Type': 'application/json', 'Accept': 'application/json', 'X-Auth-Token': '<Token omitted>'}
  > Request Body: {"project": {"enabled": true, "description": null, "name": "project-dup--1737299968", "domain_id": "default"}}
  > Response Status: 400
  > Response Headers: {'content-length': '143', 'date': 'Tue, 04 Feb 2014 07:47:53 GMT', 'content-type': 'application/json', 'vary': 'X-Auth-Token', 'connection': 'close'}
  > Response Body: {"error": {"message": "exceptions must be old-style classes or derived from BaseException, not NoneType", "code": 400, "title": "Bad Request"}}

  In keystone.log the exception can be seen as
  > keystone.common.wsgi Traceback (most recent call last):
  > keystone.common.wsgi   File "/usr/lib/python2.6/site-packages/keystone/common/wsgi.py", line 214, in __call__
  > keystone.common.wsgi     result = method(context, **params)
  > keystone.common.wsgi   File "/usr/lib/python2.6/site-packages/keystone/common/controller.py", line 174, in inner
  > keystone.common.wsgi     return f(self, context, *args, **kwargs)
  > keystone.common.wsgi   File "/usr/lib/python2.6/site-packages/keystone/assignment/controllers.py", line 390, in create_project
  > keystone.common.wsgi     ref = self.assignment_api.create_project(ref['id'], ref)
  > keystone.common.wsgi   File "/usr/lib/python2.6/site-packages/keystone/notifications.py", line 53, in wrapper
  > keystone.common.wsgi     result = f(*args, **kwargs)
  > keystone.common.wsgi   File "/usr/lib/python2.6/site-packages/keystone/assignment/core.py", line 72, in create_project
  > keystone.common.wsgi     ret = self.driver.create_project(tenant_id, tenant)
  > keystone.common.wsgi   File "/usr/lib/python2.6/site-packages/keystone/common/sql/core.py", line 165, in wrapper
  > keystone.common.wsgi     return method(*args, **kwargs)
  > keystone.common.wsgi   File "/usr/lib/python2.6/site-packages/keystone/assignment/backends/sql.py", line 411, in create_project
  > keystone.common.wsgi     return tenant_ref.to_dict()
  > keystone.common.wsgi   File "/usr/lib64/python2.6/contextlib.py", line 23, in __exit__
  > keystone.common.wsgi     self.gen.next()
  > keystone.common.wsgi   File "/usr/lib/python2.6/site-packages/keystone/common/sql/core.py", line 156, in transaction
  > keystone.common.wsgi     yield session
  > keystone.common.wsgi   File "/usr/lib64/python2.6/site-packages/SQLAlchemy-0.7.8-py2.6-linux-x86_64.egg/sqlalchemy/orm/session.py", line 405, in __exit__
  > keystone.common.wsgi     raise
  > keystone.common.wsgi TypeError: exceptions must be old-style classes or derived from BaseException, not NoneType
  > keystone.common.wsgi 

  
  Deployed with packstack, no related configuration changes.

  Installed packages:
  > openstack-keystone.noarch          2014.1-0.3.b2.el6
  > python-keystone.noarch             2014.1-0.3.b2.el6
  > python-keystoneclient.noarch       1:0.4.1-3.el6
  > python-sqlalchemy0.7.x86_64        0.7.8-1.el6
  > python-eventlet.noarch             0.9.17-2.el6
  > python-libs.x86_64                 2.6.6-51.el6

  
  This is NOT reproducible on Fedora20 with versions:
  > openstack-keystone.noarch       2014.1-0.3.b2.fc21
  > python-keystone.noarch          2014.1-0.3.b2.fc21
  > python-keystoneclient.noarch    1:0.4.1-3.fc20
  > python-sqlalchemy.x86_64        0.8.4-1.fc20
  > python-eventlet.noarch          0.12.0-2.fc20
  > python-libs.x86_64              2.7.5-9.fc20

  Neither it happened on Fedora19/20 or RHEL-6.5 with devstack/tempest
  master branches.

  This seems as related to eventlet/tpool etc issues, here with SQLAlchemy.
  For example like https://bitbucket.org/eventlet/eventlet/issue/118/exceptions-are-cleared-during

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


References