From a36dca7216842d6d24e9bb9b013c7859c8e0f3c0 Mon Sep 17 00:00:00 2001 From: Emilien Macchi Date: Wed, 10 Jan 2018 14:07:37 -0800 Subject: [PATCH] Add group to policy management The move of policy.json into code means the file may not exist. We've added support to ensure that the file exists in the openstacklib but we need to make sure the permissions are right for each service. This adds the group information to the policies so it works right. Depends-On: I26e8b1384f4f69712da9d06a4c565dfd1f17c9ed Change-Id: I26091326a1b50e977612a2b34a03bf8a938bfb33 Co-Authored-By: Alex Schultz --- manifests/params.pp | 1 + manifests/policy.pp | 7 ++++++- spec/classes/aodh_policy_spec.rb | 7 ++++--- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/manifests/params.pp b/manifests/params.pp index 44558647..df852c10 100644 --- a/manifests/params.pp +++ b/manifests/params.pp @@ -4,6 +4,7 @@ class aodh::params { include ::openstacklib::defaults $client_package_name = 'python-aodhclient' + $group = 'aodh' case $::osfamily { 'RedHat': { diff --git a/manifests/policy.pp b/manifests/policy.pp index 97a7b641..c0871f23 100644 --- a/manifests/policy.pp +++ b/manifests/policy.pp @@ -29,13 +29,18 @@ class aodh::policy ( ) { include ::aodh::deps + include ::aodh::params validate_hash($policies) Openstacklib::Policy::Base { - file_path => $policy_path, + file_path => $policy_path, + file_user => 'root', + file_group => $::aodh::params::group, } create_resources('openstacklib::policy::base', $policies) + oslo::policy { 'aodh_config': policy_file => $policy_path } + } diff --git a/spec/classes/aodh_policy_spec.rb b/spec/classes/aodh_policy_spec.rb index d68dfbb0..07a8b191 100644 --- a/spec/classes/aodh_policy_spec.rb +++ b/spec/classes/aodh_policy_spec.rb @@ -17,8 +17,10 @@ describe 'aodh::policy' do it 'set up the policies' do is_expected.to contain_openstacklib__policy__base('context_is_admin').with({ - :key => 'context_is_admin', - :value => 'foo:bar' + :key => 'context_is_admin', + :value => 'foo:bar', + :file_user => 'root', + :file_group => 'aodh', }) is_expected.to contain_oslo__policy('aodh_config').with( :policy_file => '/etc/aodh/policy.json', @@ -37,5 +39,4 @@ describe 'aodh::policy' do it_configures 'aodh policies' end end - end