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

Bug #1252466 reported by Nicholas Goracke
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack Identity (keystone)
Fix Released
Medium
Brant Knudson

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/

Revision history for this message
Morgan Fainberg (mdrnstm) wrote :
Changed in keystone:
assignee: nobody → Brant Knudson (blk-u)
importance: Undecided → Medium
status: New → In Progress
Revision history for this message
Mathew Odden (locke105) wrote :

Can we mark this Fix Committed?

It appears the proposed fix was merged.

Revision history for this message
Brant Knudson (blk-u) wrote :

This was fixed with https://review.openstack.org/#/c/57048/ . I meant to add this bug to the commit message but didn't get that done.

Changed in keystone:
status: In Progress → Fix Committed
Thierry Carrez (ttx)
Changed in keystone:
milestone: none → icehouse-1
status: Fix Committed → Fix Released
Thierry Carrez (ttx)
Changed in keystone:
milestone: icehouse-1 → 2014.1
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.