Browse Source

Add entry_point for oslo policy scripts

With the setup.cfg entry it can  be called directly from
oslo.policy.

$oslopolicy-policy-generator --namespace heat

This will get the effective policy that’s being executed.

Change-Id: Iad2e71819f4847f47dd17d3cd4afa78e6b3f52a7
Story: #2005055
Task: 29573
changes/11/638111/6
Rabi Mishra 3 years ago
parent
commit
5bdcaeff01
  1. 9
      heat/common/policy.py
  2. 3
      setup.cfg

9
heat/common/policy.py

@ -51,6 +51,8 @@ class Enforcer(object):
# register rules
self.enforcer.register_defaults(policies.list_rules())
self.file_rules = self.enforcer.file_rules
self.registered_rules = self.enforcer.registered_rules
def set_rules(self, rules, overwrite=True):
"""Create a new Rules object based on the provided dict of rules."""
@ -118,6 +120,13 @@ class Enforcer(object):
is_registered_policy=True)
def get_policy_enforcer():
# This method is used by oslopolicy CLI scripts to generate policy
# files from overrides on disk and defaults in code.
CONF([], project='heat')
return get_enforcer()
def get_enforcer():
global ENFORCER
if ENFORCER is None:

3
setup.cfg

@ -60,6 +60,9 @@ oslo.config.opts =
oslo.config.opts.defaults =
heat.common.config = heat.common.config:set_config_defaults
oslo.policy.enforcer =
heat = heat.common.policy:get_policy_enforcer
oslo.policy.policies =
heat = heat.policies:list_rules

Loading…
Cancel
Save