Merge "Add support for the oslo_policy/enforce_scope parameter"
This commit is contained in:
		@@ -4,6 +4,10 @@
 | 
			
		||||
#
 | 
			
		||||
# === Parameters
 | 
			
		||||
#
 | 
			
		||||
# [*enforce_scope*]
 | 
			
		||||
#  (Optional) Whether or not to enforce scope when evaluating policies.
 | 
			
		||||
#  Defaults to $::os_service_default.
 | 
			
		||||
#
 | 
			
		||||
# [*policies*]
 | 
			
		||||
#   (Optional) Set of policies to configure for mistral
 | 
			
		||||
#   Example :
 | 
			
		||||
@@ -20,12 +24,13 @@
 | 
			
		||||
#   Defaults to empty hash.
 | 
			
		||||
#
 | 
			
		||||
# [*policy_path*]
 | 
			
		||||
#   (Optional) Path to the nova policy.yaml file
 | 
			
		||||
#   (Optional) Path to the mistral policy.yaml file
 | 
			
		||||
#   Defaults to /etc/mistral/policy.yaml
 | 
			
		||||
#
 | 
			
		||||
class mistral::policy (
 | 
			
		||||
  $policies    = {},
 | 
			
		||||
  $policy_path = '/etc/mistral/policy.yaml',
 | 
			
		||||
  $enforce_scope = $::os_service_default,
 | 
			
		||||
  $policies      = {},
 | 
			
		||||
  $policy_path   = '/etc/mistral/policy.yaml',
 | 
			
		||||
) {
 | 
			
		||||
 | 
			
		||||
  include mistral::deps
 | 
			
		||||
@@ -42,6 +47,9 @@ class mistral::policy (
 | 
			
		||||
 | 
			
		||||
  create_resources('openstacklib::policy::base', $policies)
 | 
			
		||||
 | 
			
		||||
  oslo::policy { 'mistral_config': policy_file => $policy_path }
 | 
			
		||||
  oslo::policy { 'mistral_config':
 | 
			
		||||
    enforce_scope => $enforce_scope,
 | 
			
		||||
    policy_file   => $policy_path
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -0,0 +1,5 @@
 | 
			
		||||
---
 | 
			
		||||
features:
 | 
			
		||||
  - |
 | 
			
		||||
    The new ``mistral::policy::enforce_scope`` parameter has been added to
 | 
			
		||||
    support the corresponding parameter in oslo.policy library.
 | 
			
		||||
@@ -1,12 +1,12 @@
 | 
			
		||||
require 'spec_helper'
 | 
			
		||||
 | 
			
		||||
describe 'mistral::policy' do
 | 
			
		||||
 | 
			
		||||
  shared_examples_for 'mistral policies' do
 | 
			
		||||
  shared_examples 'mistral::policy' do
 | 
			
		||||
    let :params do
 | 
			
		||||
      {
 | 
			
		||||
        :policy_path => '/etc/mistral/policy.yaml',
 | 
			
		||||
        :policies    => {
 | 
			
		||||
        :enforce_scope => false,
 | 
			
		||||
        :policy_path   => '/etc/mistral/policy.yaml',
 | 
			
		||||
        :policies      => {
 | 
			
		||||
          'context_is_admin' => {
 | 
			
		||||
            'key'   => 'context_is_admin',
 | 
			
		||||
            'value' => 'foo:bar'
 | 
			
		||||
@@ -24,20 +24,21 @@ describe 'mistral::policy' do
 | 
			
		||||
        :file_format => 'yaml',
 | 
			
		||||
      })
 | 
			
		||||
      is_expected.to contain_oslo__policy('mistral_config').with(
 | 
			
		||||
        :policy_file => '/etc/mistral/policy.yaml',
 | 
			
		||||
        :enforce_scope => false,
 | 
			
		||||
        :policy_file   => '/etc/mistral/policy.yaml',
 | 
			
		||||
      )
 | 
			
		||||
    end
 | 
			
		||||
  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_configures 'mistral policies'
 | 
			
		||||
      it_behaves_like 'mistral::policy'
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
end
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user