diff --git a/manifests/policy.pp b/manifests/policy.pp index f5b4cad3e..3df59e670 100644 --- a/manifests/policy.pp +++ b/manifests/policy.pp @@ -36,12 +36,18 @@ # (Optional) Path to the nova policy folder # Defaults to $::os_service_default # +# [*purge_config*] +# (optional) Whether to set only the specified policy rules in the policy +# file. +# Defaults to false. +# class nova::policy ( $enforce_scope = $::os_service_default, $enforce_new_defaults = $::os_service_default, $policies = {}, $policy_path = '/etc/nova/policy.yaml', $policy_dirs = $::os_service_default, + $purge_config = false, ) { include nova::deps @@ -49,14 +55,16 @@ class nova::policy ( validate_legacy(Hash, 'validate_hash', $policies) - Openstacklib::Policy::Base { - file_path => $policy_path, - file_user => 'root', - file_group => $::nova::params::group, - file_format => 'yaml', + $policy_defaults = { + policies => $policies, + policy_path => $policy_path, + file_user => 'root', + file_group => $::nova::params::group, + file_format => 'yaml', + purge_config => $purge_config, } - create_resources('openstacklib::policy::base', $policies) + ensure_resource('openstacklib::policy', $policy_path, $policy_defaults) oslo::policy { 'nova_config': enforce_scope => $enforce_scope,