Use yaml instead of json for policy file

Because usage of json for policy file will be deprecated and replaced
by yaml[1].

[1] https://governance.openstack.org/tc/goals/selected/wallaby/migrate-policy-format-from-json-to-yaml.html

Depends-on: https://review.opendev.org/769647
Change-Id: I2d1dc5791f18d10e9947f962b796872e7d6990e1
This commit is contained in:
Takashi Kajinami 2020-12-29 16:25:56 +09:00
parent 9aed3eff73
commit 4f0a35e61a
3 changed files with 18 additions and 12 deletions

View File

@ -20,12 +20,12 @@
# Defaults to empty hash. # Defaults to empty hash.
# #
# [*policy_path*] # [*policy_path*]
# (Optional) Path to the nova policy.json file # (Optional) Path to the nova policy.yaml file
# Defaults to /etc/nova/policy.json # Defaults to /etc/nova/policy.yaml
# #
class nova::policy ( class nova::policy (
$policies = {}, $policies = {},
$policy_path = '/etc/nova/policy.json', $policy_path = '/etc/nova/policy.yaml',
) { ) {
include nova::deps include nova::deps
@ -37,6 +37,7 @@ class nova::policy (
file_path => $policy_path, file_path => $policy_path,
file_user => 'root', file_user => 'root',
file_group => $::nova::params::group, file_group => $::nova::params::group,
file_format => 'yaml',
} }
create_resources('openstacklib::policy::base', $policies, $policy_defaults) create_resources('openstacklib::policy::base', $policies, $policy_defaults)

View File

@ -0,0 +1,4 @@
---
upgrade:
- |
Now policy.yaml is used by default instead of policy.json.

View File

@ -5,7 +5,7 @@ describe 'nova::policy' do
shared_examples_for 'nova policies' do shared_examples_for 'nova policies' do
let :params do let :params do
{ {
:policy_path => '/etc/nova/policy.json', :policy_path => '/etc/nova/policy.yaml',
:policies => { :policies => {
'context_is_admin' => { 'context_is_admin' => {
'key' => 'context_is_admin', 'key' => 'context_is_admin',
@ -21,9 +21,10 @@ describe 'nova::policy' do
:value => 'foo:bar', :value => 'foo:bar',
:file_user => 'root', :file_user => 'root',
:file_group => 'nova', :file_group => 'nova',
:file_format => 'yaml',
}) })
is_expected.to contain_oslo__policy('nova_config').with( is_expected.to contain_oslo__policy('nova_config').with(
:policy_file => '/etc/nova/policy.json', :policy_file => '/etc/nova/policy.yaml',
) )
end end
end end