From dabc9d9d1f45e896e5c905a3da9266907f720c01 Mon Sep 17 00:00:00 2001 From: Emilien Macchi Date: Wed, 10 Jan 2018 14:09:35 -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: Ic5f73993ea4d71fc186272c624a906fcae2dcfa8 Co-Authored-By: Alex Schultz --- manifests/params.pp | 2 +- manifests/policy.pp | 7 +++++-- spec/classes/magnum_policy_spec.rb | 8 +++++--- 3 files changed, 11 insertions(+), 6 deletions(-) diff --git a/manifests/params.pp b/manifests/params.pp index 84b259a..e899c44 100644 --- a/manifests/params.pp +++ b/manifests/params.pp @@ -4,7 +4,7 @@ # class magnum::params { include ::openstacklib::defaults - + $group = 'magnum' case $::osfamily { 'RedHat': { # package names diff --git a/manifests/policy.pp b/manifests/policy.pp index 3796f68..0651e66 100644 --- a/manifests/policy.pp +++ b/manifests/policy.pp @@ -29,15 +29,18 @@ class magnum::policy ( ) { include ::magnum::deps + include ::magnum::params validate_hash($policies) Openstacklib::Policy::Base { - file_path => $policy_path, + file_path => $policy_path, + file_user => 'root', + file_group => $::magnum::params::group, } create_resources('openstacklib::policy::base', $policies) - oslo::policy { 'magnum_config': policy_file => $policy_path} + oslo::policy { 'magnum_config': policy_file => $policy_path } } diff --git a/spec/classes/magnum_policy_spec.rb b/spec/classes/magnum_policy_spec.rb index 06644d4..9766889 100644 --- a/spec/classes/magnum_policy_spec.rb +++ b/spec/classes/magnum_policy_spec.rb @@ -17,8 +17,10 @@ describe 'magnum::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 => 'magnum', }) is_expected.to contain_oslo__policy('magnum_config').with( :policy_file => '/etc/magnum/policy.json', @@ -34,7 +36,7 @@ describe 'magnum::policy' do facts.merge!(OSDefaults.get_facts()) end - it_behaves_like 'magnum policies' + it_configures 'magnum policies' end end end