diff --git a/nova/policy.py b/nova/policy.py index 1117b08d42..90f6376400 100644 --- a/nova/policy.py +++ b/nova/policy.py @@ -49,7 +49,8 @@ def reset(): _ENFORCER = None -def init(policy_file=None, rules=None, default_rule=None, use_conf=True): +def init(policy_file=None, rules=None, default_rule=None, use_conf=True, + suppress_deprecation_warnings=False): """Init an Enforcer class. :param policy_file: Custom policy file to use, if none is specified, @@ -59,6 +60,8 @@ def init(policy_file=None, rules=None, default_rule=None, use_conf=True): :param default_rule: Default rule to use, CONF.default_rule will be used if none is specified. :param use_conf: Whether to load rules from config file. + :param suppress_deprecation_warnings: Whether to suppress the + deprecation warnings. """ global _ENFORCER @@ -70,6 +73,8 @@ def init(policy_file=None, rules=None, default_rule=None, use_conf=True): rules=rules, default_rule=default_rule, use_conf=use_conf) + if suppress_deprecation_warnings: + _ENFORCER.suppress_deprecation_warnings = True register_rules(_ENFORCER) _ENFORCER.load_rules() diff --git a/nova/tests/unit/policy_fixture.py b/nova/tests/unit/policy_fixture.py index 0ed681141f..fee3d61641 100644 --- a/nova/tests/unit/policy_fixture.py +++ b/nova/tests/unit/policy_fixture.py @@ -50,11 +50,10 @@ class RealPolicyFixture(fixtures.Fixture): self._prepare_policy() CONF.set_override('policy_file', self.policy_file, group='oslo_policy') nova.policy.reset() - nova.policy.init() # NOTE(gmann): Logging all the deprecation warning for every unit - # test will overflow the log files and leads to error. Suppress - # the deprecation warning for tests only. - nova.policy._ENFORCER.suppress_deprecation_warnings = True + # test will overflow the log files. Suppress the deprecation warnings + # for tests. + nova.policy.init(suppress_deprecation_warnings=True) self.addCleanup(nova.policy.reset) def set_rules(self, rules, overwrite=True):