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: I3bee5d31be0a0bacfd5eddb1f986af110a966e27
Co-Authored-By: Alex Schultz <aschultz@redhat.com>
This commit is contained in:
Emilien Macchi 2018-01-10 14:08:03 -08:00
parent 6ef92f2c68
commit 1326af8093
3 changed files with 13 additions and 6 deletions

View File

@ -8,6 +8,7 @@ class cloudkitty::params {
$client_package_name = 'python-cloudkittyclient'
$api_service_name = 'cloudkitty-api'
$processor_service_name = 'cloudkitty-processor'
$group = 'cloudkitty'
case $::osfamily {
'RedHat': {

View File

@ -29,11 +29,14 @@ class cloudkitty::policy (
) {
include ::cloudkitty::deps
include ::cloudkitty::params
validate_hash($policies)
Openstacklib::Policy::Base {
file_path => $policy_path,
file_path => $policy_path,
file_user => 'root',
file_group => $::cloudkitty::params::group,
}
create_resources('openstacklib::policy::base', $policies)

View File

@ -1,7 +1,8 @@
require 'spec_helper'
describe 'cloudkitty::policy' do
shared_examples_for 'cloudkitty-policies' do
shared_examples_for 'cloudkitty policies' do
let :params do
{
:policy_path => '/etc/cloudkitty/policy.json',
@ -16,8 +17,10 @@ describe 'cloudkitty::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 => 'cloudkitty',
})
is_expected.to contain_oslo__policy('cloudkitty_config').with(
:policy_file => '/etc/cloudkitty/policy.json',
@ -26,14 +29,14 @@ describe 'cloudkitty::policy' do
end
on_supported_os({
:supported_os => OSDefaults.get_supported_os
:supported_os => OSDefaults.get_supported_os
}).each do |os,facts|
context "on #{os}" do
let (:facts) do
facts.merge!(OSDefaults.get_facts())
end
it_behaves_like 'cloudkitty-policies'
it_configures 'cloudkitty policies'
end
end
end