[goal] Deprecate the JSON formatted policy file
As per the community goal of migrating the policy file the format from JSON to YAML[1], we need to do two things: 1. Change the default value of '[oslo_policy] policy_file'' config option from 'policy.json' to 'policy.yaml' with upgrade checks. 2. Deprecate the JSON formatted policy file on the project side via warning in doc and releasenotes. Also replace policy.json to policy.yaml ref from doc and tests. [1]https://governance.openstack.org/tc/goals/selected/wallaby/migrate-policy-format-from-json-to-yaml.html Change-Id: I207c02ba71fe60635fd3406c9c9364c11f259bae
This commit is contained in:
committed by
Ghanshyam
parent
76270c8383
commit
863815153e
@@ -14,6 +14,7 @@
|
||||
|
||||
import sys
|
||||
|
||||
from oslo_upgradecheck import common_checks
|
||||
from oslo_upgradecheck import upgradecheck
|
||||
|
||||
from watcher._i18n import _
|
||||
@@ -43,6 +44,10 @@ class Checks(upgradecheck.UpgradeCommands):
|
||||
_upgrade_checks = (
|
||||
# Added in Train.
|
||||
(_('Minimum Nova API Version'), _minimum_nova_api_version),
|
||||
# Added in Wallaby.
|
||||
(_("Policy File JSON to YAML Migration"),
|
||||
(common_checks.check_policy_json, {'conf': CONF})),
|
||||
|
||||
)
|
||||
|
||||
|
||||
|
||||
@@ -18,6 +18,7 @@
|
||||
import sys
|
||||
|
||||
from oslo_config import cfg
|
||||
from oslo_policy import opts
|
||||
from oslo_policy import policy
|
||||
|
||||
from watcher.common import exception
|
||||
@@ -26,6 +27,12 @@ from watcher.common import policies
|
||||
_ENFORCER = None
|
||||
CONF = cfg.CONF
|
||||
|
||||
# TODO(gmann): Remove setting the default value of config policy_file
|
||||
# once oslo_policy change the default value to 'policy.yaml'.
|
||||
# https://github.com/openstack/oslo.policy/blob/a626ad12fe5a3abd49d70e3e5b95589d279ab578/oslo_policy/opts.py#L49
|
||||
DEFAULT_POLICY_FILE = 'policy.yaml'
|
||||
opts.set_defaults(CONF, DEFAULT_POLICY_FILE)
|
||||
|
||||
|
||||
# we can get a policy enforcer by this init.
|
||||
# oslo policy support change policy rule dynamically.
|
||||
|
||||
@@ -30,7 +30,7 @@ class PolicyFixture(fixtures.Fixture):
|
||||
def _setUp(self):
|
||||
self.policy_dir = self.useFixture(fixtures.TempDir())
|
||||
self.policy_file_name = os.path.join(self.policy_dir.path,
|
||||
'policy.json')
|
||||
'policy.yaml')
|
||||
with open(self.policy_file_name, 'w') as policy_file:
|
||||
policy_file.write(fake_policy.policy_data)
|
||||
policy_opts.set_defaults(CONF)
|
||||
|
||||
Reference in New Issue
Block a user