← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1252466] Re: rules policy driver does not implement create_policy, delete_policy, get_policy, list_policies, update_policy, crashes on startup

 

** Changed in: keystone
       Status: Fix Committed => Fix Released

** Changed in: keystone
    Milestone: None => icehouse-1

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

Title:
  rules policy driver does not implement create_policy, delete_policy,
  get_policy, list_policies, update_policy, crashes on startup

Status in OpenStack Identity (Keystone):
  Fix Released

Bug description:
  When specifying the rules policy driver, keystone crashes on start up.

  (keystone.conf)
  [policy]
  #driver = keystone.policy.backends.sql.Policy
  driver = keystone.policy.backends.rules.Policy

  (keystone.log)
  2013-11-18 15:04:50.584 23679 INFO keystone.common.environment [-] KS-E2714F7 Environment configured as: eventlet
  2013-11-18 15:04:51.156 23679 CRITICAL keystone [-] Can't instantiate abstract class Policy with abstract methods create_policy, delete_policy, get_policy, list_policies, update_policy
  2013-11-18 15:04:51.156 23679 TRACE keystone Traceback (most recent call last):
  2013-11-18 15:04:51.156 23679 TRACE keystone   File "/usr/bin/keystone-all", line 133, in <module>
  2013-11-18 15:04:51.156 23679 TRACE keystone     int(CONF.admin_port)))
  2013-11-18 15:04:51.156 23679 TRACE keystone   File "/usr/bin/keystone-all", line 59, in create_server
  2013-11-18 15:04:51.156 23679 TRACE keystone     app = deploy.loadapp('config:%s' % conf, name=name)
  2013-11-18 15:04:51.156 23679 TRACE keystone   File "/usr/lib/python2.6/site-packages/paste/deploy/loadwsgi.py", line 247, in loadapp
  2013-11-18 15:04:51.156 23679 TRACE keystone     return loadobj(APP, uri, name=name, **kw)
  2013-11-18 15:04:51.156 23679 TRACE keystone   File "/usr/lib/python2.6/site-packages/paste/deploy/loadwsgi.py", line 272, in loadobj
  2013-11-18 15:04:51.156 23679 TRACE keystone     return context.create()
  2013-11-18 15:04:51.156 23679 TRACE keystone   File "/usr/lib/python2.6/site-packages/paste/deploy/loadwsgi.py", line 710, in create
  2013-11-18 15:04:51.156 23679 TRACE keystone     return self.object_type.invoke(self)
  2013-11-18 15:04:51.156 23679 TRACE keystone   File "/usr/lib/python2.6/site-packages/paste/deploy/loadwsgi.py", line 144, in invoke
  2013-11-18 15:04:51.156 23679 TRACE keystone     **context.local_conf)
  2013-11-18 15:04:51.156 23679 TRACE keystone   File "/usr/lib/python2.6/site-packages/paste/deploy/util.py", line 59, in fix_call
  2013-11-18 15:04:51.156 23679 TRACE keystone     reraise(*exc_info)
  2013-11-18 15:04:51.156 23679 TRACE keystone   File "/usr/lib/python2.6/site-packages/paste/deploy/compat.py", line 22, in reraise
  2013-11-18 15:04:51.156 23679 TRACE keystone     exec('raise t, e, tb', dict(t=t, e=e, tb=tb))
  2013-11-18 15:04:51.156 23679 TRACE keystone   File "/usr/lib/python2.6/site-packages/paste/deploy/util.py", line 56, in fix_call
  2013-11-18 15:04:51.156 23679 TRACE keystone     val = callable(*args, **kw)
  2013-11-18 15:04:51.156 23679 TRACE keystone   File "/usr/lib/python2.6/site-packages/paste/urlmap.py", line 25, in urlmap_factory
  2013-11-18 15:04:51.156 23679 TRACE keystone     app = loader.get_app(app_name, global_conf=global_conf)
  2013-11-18 15:04:51.156 23679 TRACE keystone   File "/usr/lib/python2.6/site-packages/paste/deploy/loadwsgi.py", line 350, in get_app
  2013-11-18 15:04:51.156 23679 TRACE keystone     name=name, global_conf=global_conf).create()
  2013-11-18 15:04:51.156 23679 TRACE keystone   File "/usr/lib/python2.6/site-packages/paste/deploy/loadwsgi.py", line 362, in app_context
  2013-11-18 15:04:51.156 23679 TRACE keystone     APP, name=name, global_conf=global_conf)
  2013-11-18 15:04:51.156 23679 TRACE keystone   File "/usr/lib/python2.6/site-packages/paste/deploy/loadwsgi.py", line 450, in get_context
  2013-11-18 15:04:51.156 23679 TRACE keystone     global_additions=global_additions)
  2013-11-18 15:04:51.156 23679 TRACE keystone   File "/usr/lib/python2.6/site-packages/paste/deploy/loadwsgi.py", line 559, in _pipeline_app_context
  2013-11-18 15:04:51.156 23679 TRACE keystone     APP, pipeline[-1], global_conf)
  2013-11-18 15:04:51.156 23679 TRACE keystone   File "/usr/lib/python2.6/site-packages/paste/deploy/loadwsgi.py", line 458, in get_context
  2013-11-18 15:04:51.156 23679 TRACE keystone     section)
  2013-11-18 15:04:51.156 23679 TRACE keystone   File "/usr/lib/python2.6/site-packages/paste/deploy/loadwsgi.py", line 517, in _context_from_explicit
  2013-11-18 15:04:51.156 23679 TRACE keystone     value = import_string(found_expr)
  2013-11-18 15:04:51.156 23679 TRACE keystone   File "/usr/lib/python2.6/site-packages/paste/deploy/loadwsgi.py", line 22, in import_string
  2013-11-18 15:04:51.156 23679 TRACE keystone     return pkg_resources.EntryPoint.parse("x=" + s).load(False)
  2013-11-18 15:04:51.156 23679 TRACE keystone   File "/usr/lib/python2.6/site-packages/pkg_resources.py", line 1948, in load
  2013-11-18 15:04:51.156 23679 TRACE keystone     entry = __import__(self.module_name, globals(),globals(), ['__name__'])
  2013-11-18 15:04:51.156 23679 TRACE keystone   File "/usr/lib/python2.6/site-packages/keystone/service.py", line 56, in <module>
  2013-11-18 15:04:51.156 23679 TRACE keystone     policy_api=policy.Manager(),
  2013-11-18 15:04:51.156 23679 TRACE keystone   File "/usr/lib/python2.6/site-packages/keystone/common/dependency.py", line 35, in __wrapped_init__
  2013-11-18 15:04:51.156 23679 TRACE keystone     init(self, *args, **kwargs)
  2013-11-18 15:04:51.156 23679 TRACE keystone   File "/usr/lib/python2.6/site-packages/keystone/policy/core.py", line 42, in __init__
  2013-11-18 15:04:51.156 23679 TRACE keystone     super(Manager, self).__init__(CONF.policy.driver)
  2013-11-18 15:04:51.156 23679 TRACE keystone   File "/usr/lib/python2.6/site-packages/keystone/common/manager.py", line 36, in __init__
  2013-11-18 15:04:51.156 23679 TRACE keystone     self.driver = importutils.import_object(driver_name)
  2013-11-18 15:04:51.156 23679 TRACE keystone   File "/usr/lib/python2.6/site-packages/keystone/openstack/common/importutils.py", line 40, in import_object
  2013-11-18 15:04:51.156 23679 TRACE keystone     return import_class(import_str)(*args, **kwargs)
  2013-11-18 15:04:51.156 23679 TRACE keystone TypeError: Can't instantiate abstract class Policy with abstract methods create_policy, delete_policy, get_policy, list_policies, update_policy
  2013-11-18 15:04:51.156 23679 TRACE keystone

  The breakage happened with this change:
  https://review.openstack.org/#/c/50079/

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