Public bug reported:

Right now keystonemiddleware requirement is as follows:

keystonemiddleware!=4.1.0,!=4.5.0,>=4.0.0 # Apache-2.0


Unfortunately, 4.0.0 (which is the minimum) wont work due to a breaking change 
that changes the _BaseAuthProtocol class to BaseAuthProtocol[0] and that class 
is used at keystone/middleware/auth.py [1]

This was done in the change from 4.0.0 to 4.1.0 but the requirements
were never bumped. Thus using latest keystone from master and
keystonemiddleware == 4.0.0 results in failure:


2016-09-13 17:06:05.465591 Traceback (most recent call last):
2016-09-13 17:06:05.465603   File "/usr/bin/keystone-wsgi-admin", line 51, in 
<module>
2016-09-13 17:06:05.465619     application = initialize_admin_application()
2016-09-13 17:06:05.465624   File 
"/usr/lib/python2.7/site-packages/keystone/server/wsgi.py", line 132, in 
initialize_admin_application
2016-09-13 17:06:05.465632     config_files=_get_config_files())
2016-09-13 17:06:05.465636   File 
"/usr/lib/python2.7/site-packages/keystone/server/wsgi.py", line 69, in 
initialize_application
2016-09-13 17:06:05.465641     startup_application_fn=loadapp)
2016-09-13 17:06:05.465645   File 
"/usr/lib/python2.7/site-packages/keystone/server/common.py", line 50, in 
setup_backends
2016-09-13 17:06:05.465651     res = startup_application_fn()
2016-09-13 17:06:05.465654   File 
"/usr/lib/python2.7/site-packages/keystone/server/wsgi.py", line 66, in loadapp
2016-09-13 17:06:05.465659     'config:%s' % find_paste_config(), name)
2016-09-13 17:06:05.465663   File 
"/usr/lib/python2.7/site-packages/keystone/version/service.py", line 53, in 
loadapp
2016-09-13 17:06:05.465702     controllers.latest_app = deploy.loadapp(conf, 
name=name)
2016-09-13 17:06:05.465709   File 
"/usr/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 247, in 
loadapp
2016-09-13 17:06:05.465841     return loadobj(APP, uri, name=name, **kw)
2016-09-13 17:06:05.465853   File 
"/usr/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 272, in 
loadobj
2016-09-13 17:06:05.465868     return context.create()
2016-09-13 17:06:05.465876   File 
"/usr/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 710, in create
2016-09-13 17:06:05.465897     return self.object_type.invoke(self)
2016-09-13 17:06:05.465903   File 
"/usr/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 144, in invoke
2016-09-13 17:06:05.465909     **context.local_conf)
2016-09-13 17:06:05.465921   File 
"/usr/lib/python2.7/site-packages/paste/deploy/util.py", line 55, in fix_call
2016-09-13 17:06:05.465969     val = callable(*args, **kw)
2016-09-13 17:06:05.465980   File 
"/usr/lib/python2.7/site-packages/paste/urlmap.py", line 31, in urlmap_factory
2016-09-13 17:06:05.466084     app = loader.get_app(app_name, 
global_conf=global_conf)
2016-09-13 17:06:05.466101   File 
"/usr/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 350, in 
get_app
2016-09-13 17:06:05.466124     name=name, global_conf=global_conf).create()
2016-09-13 17:06:05.466138   File 
"/usr/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 362, in 
app_context
2016-09-13 17:06:05.466146     APP, name=name, global_conf=global_conf)
2016-09-13 17:06:05.466152   File 
"/usr/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 450, in 
get_context
2016-09-13 17:06:05.466171     global_additions=global_additions)
2016-09-13 17:06:05.466177   File 
"/usr/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 562, in 
_pipeline_app_context
2016-09-13 17:06:05.466192     for name in pipeline[:-1]]
2016-09-13 17:06:05.466197   File 
"/usr/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 454, in 
get_context
2016-09-13 17:06:05.466217     section)
2016-09-13 17:06:05.466243   File 
"/usr/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 476, in 
_context_from_use
2016-09-13 17:06:05.466265     object_type, name=use, global_conf=global_conf)
2016-09-13 17:06:05.466272   File 
"/usr/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 406, in 
get_context
2016-09-13 17:06:05.466289     global_conf=global_conf)
2016-09-13 17:06:05.466294   File 
"/usr/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 296, in 
loadcontext
2016-09-13 17:06:05.466320     global_conf=global_conf)
2016-09-13 17:06:05.466337   File 
"/usr/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 328, in 
_loadegg
2016-09-13 17:06:05.466344     return loader.get_context(object_type, name, 
global_conf)
2016-09-13 17:06:05.466350   File 
"/usr/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 620, in 
get_context
2016-09-13 17:06:05.466369     object_type, name=name)
2016-09-13 17:06:05.466375   File 
"/usr/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 646, in 
find_egg_entry_point
2016-09-13 17:06:05.466393     possible.append((entry.load(), protocol, 
entry.name))
2016-09-13 17:06:05.466404   File 
"/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2355, in load
2016-09-13 17:06:05.466735     return self.resolve()
2016-09-13 17:06:05.466750   File 
"/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2361, in 
resolve
2016-09-13 17:06:05.466772     module = __import__(self.module_name, 
fromlist=['__name__'], level=0)
2016-09-13 17:06:05.466779   File 
"/usr/lib/python2.7/site-packages/keystone/middleware/__init__.py", line 15, in 
<module>
2016-09-13 17:06:05.466835     from keystone.middleware.auth import *  # noqa
2016-09-13 17:06:05.466857   File 
"/usr/lib/python2.7/site-packages/keystone/middleware/auth.py", line 38, in 
<module>
2016-09-13 17:06:05.466952     class 
AuthContextMiddleware(auth_token.BaseAuthProtocol):
2016-09-13 17:06:05.466971 AttributeError: 'module' object has no attribute 
'BaseAuthProtocol'


A simple fix would be to change the requirement to blacklist 4.0.0

[0] https://review.openstack.org/#/c/255691/
[1] 
https://github.com/openstack/keystone/blob/master/keystone/middleware/auth.py#L38

** Affects: keystone
     Importance: Undecided
         Status: New


** Tags: low-hanging-fruit

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

Title:
  keystonemidleware dependency should be > 4.0.0

Status in OpenStack Identity (keystone):
  New

Bug description:
  Right now keystonemiddleware requirement is as follows:

  keystonemiddleware!=4.1.0,!=4.5.0,>=4.0.0 # Apache-2.0

  
  Unfortunately, 4.0.0 (which is the minimum) wont work due to a breaking 
change that changes the _BaseAuthProtocol class to BaseAuthProtocol[0] and that 
class is used at keystone/middleware/auth.py [1]

  This was done in the change from 4.0.0 to 4.1.0 but the requirements
  were never bumped. Thus using latest keystone from master and
  keystonemiddleware == 4.0.0 results in failure:

  
  2016-09-13 17:06:05.465591 Traceback (most recent call last):
  2016-09-13 17:06:05.465603   File "/usr/bin/keystone-wsgi-admin", line 51, in 
<module>
  2016-09-13 17:06:05.465619     application = initialize_admin_application()
  2016-09-13 17:06:05.465624   File 
"/usr/lib/python2.7/site-packages/keystone/server/wsgi.py", line 132, in 
initialize_admin_application
  2016-09-13 17:06:05.465632     config_files=_get_config_files())
  2016-09-13 17:06:05.465636   File 
"/usr/lib/python2.7/site-packages/keystone/server/wsgi.py", line 69, in 
initialize_application
  2016-09-13 17:06:05.465641     startup_application_fn=loadapp)
  2016-09-13 17:06:05.465645   File 
"/usr/lib/python2.7/site-packages/keystone/server/common.py", line 50, in 
setup_backends
  2016-09-13 17:06:05.465651     res = startup_application_fn()
  2016-09-13 17:06:05.465654   File 
"/usr/lib/python2.7/site-packages/keystone/server/wsgi.py", line 66, in loadapp
  2016-09-13 17:06:05.465659     'config:%s' % find_paste_config(), name)
  2016-09-13 17:06:05.465663   File 
"/usr/lib/python2.7/site-packages/keystone/version/service.py", line 53, in 
loadapp
  2016-09-13 17:06:05.465702     controllers.latest_app = deploy.loadapp(conf, 
name=name)
  2016-09-13 17:06:05.465709   File 
"/usr/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 247, in 
loadapp
  2016-09-13 17:06:05.465841     return loadobj(APP, uri, name=name, **kw)
  2016-09-13 17:06:05.465853   File 
"/usr/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 272, in 
loadobj
  2016-09-13 17:06:05.465868     return context.create()
  2016-09-13 17:06:05.465876   File 
"/usr/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 710, in create
  2016-09-13 17:06:05.465897     return self.object_type.invoke(self)
  2016-09-13 17:06:05.465903   File 
"/usr/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 144, in invoke
  2016-09-13 17:06:05.465909     **context.local_conf)
  2016-09-13 17:06:05.465921   File 
"/usr/lib/python2.7/site-packages/paste/deploy/util.py", line 55, in fix_call
  2016-09-13 17:06:05.465969     val = callable(*args, **kw)
  2016-09-13 17:06:05.465980   File 
"/usr/lib/python2.7/site-packages/paste/urlmap.py", line 31, in urlmap_factory
  2016-09-13 17:06:05.466084     app = loader.get_app(app_name, 
global_conf=global_conf)
  2016-09-13 17:06:05.466101   File 
"/usr/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 350, in 
get_app
  2016-09-13 17:06:05.466124     name=name, global_conf=global_conf).create()
  2016-09-13 17:06:05.466138   File 
"/usr/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 362, in 
app_context
  2016-09-13 17:06:05.466146     APP, name=name, global_conf=global_conf)
  2016-09-13 17:06:05.466152   File 
"/usr/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 450, in 
get_context
  2016-09-13 17:06:05.466171     global_additions=global_additions)
  2016-09-13 17:06:05.466177   File 
"/usr/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 562, in 
_pipeline_app_context
  2016-09-13 17:06:05.466192     for name in pipeline[:-1]]
  2016-09-13 17:06:05.466197   File 
"/usr/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 454, in 
get_context
  2016-09-13 17:06:05.466217     section)
  2016-09-13 17:06:05.466243   File 
"/usr/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 476, in 
_context_from_use
  2016-09-13 17:06:05.466265     object_type, name=use, global_conf=global_conf)
  2016-09-13 17:06:05.466272   File 
"/usr/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 406, in 
get_context
  2016-09-13 17:06:05.466289     global_conf=global_conf)
  2016-09-13 17:06:05.466294   File 
"/usr/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 296, in 
loadcontext
  2016-09-13 17:06:05.466320     global_conf=global_conf)
  2016-09-13 17:06:05.466337   File 
"/usr/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 328, in 
_loadegg
  2016-09-13 17:06:05.466344     return loader.get_context(object_type, name, 
global_conf)
  2016-09-13 17:06:05.466350   File 
"/usr/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 620, in 
get_context
  2016-09-13 17:06:05.466369     object_type, name=name)
  2016-09-13 17:06:05.466375   File 
"/usr/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 646, in 
find_egg_entry_point
  2016-09-13 17:06:05.466393     possible.append((entry.load(), protocol, 
entry.name))
  2016-09-13 17:06:05.466404   File 
"/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2355, in load
  2016-09-13 17:06:05.466735     return self.resolve()
  2016-09-13 17:06:05.466750   File 
"/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2361, in 
resolve
  2016-09-13 17:06:05.466772     module = __import__(self.module_name, 
fromlist=['__name__'], level=0)
  2016-09-13 17:06:05.466779   File 
"/usr/lib/python2.7/site-packages/keystone/middleware/__init__.py", line 15, in 
<module>
  2016-09-13 17:06:05.466835     from keystone.middleware.auth import *  # noqa
  2016-09-13 17:06:05.466857   File 
"/usr/lib/python2.7/site-packages/keystone/middleware/auth.py", line 38, in 
<module>
  2016-09-13 17:06:05.466952     class 
AuthContextMiddleware(auth_token.BaseAuthProtocol):
  2016-09-13 17:06:05.466971 AttributeError: 'module' object has no attribute 
'BaseAuthProtocol'


  A simple fix would be to change the requirement to blacklist 4.0.0

  [0] https://review.openstack.org/#/c/255691/
  [1] 
https://github.com/openstack/keystone/blob/master/keystone/middleware/auth.py#L38

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

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to     : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp

Reply via email to