From a89621b8396d4274f2aa9e8908df7754287191c6 Mon Sep 17 00:00:00 2001 From: Nicolas Hicher Date: Mon, 11 Aug 2014 15:23:50 -0400 Subject: [PATCH] scheduler_default_filters for cloud::compute::scheduler * allow user to use scheduler_default_filters to specify scheduler * filters in nova.conf --- manifests/compute/scheduler.pp | 13 +++++++++++-- spec/classes/cloud_compute_scheduler_spec.rb | 13 +++++++++++++ 2 files changed, 24 insertions(+), 2 deletions(-) diff --git a/manifests/compute/scheduler.pp b/manifests/compute/scheduler.pp index a837db8b..390623aa 100644 --- a/manifests/compute/scheduler.pp +++ b/manifests/compute/scheduler.pp @@ -15,8 +15,13 @@ # # Compute Scheduler node # - -class cloud::compute::scheduler { +# [*scheduler_default_filters*] +# (optional) A comma separated list of filters to be used by default +# Defaults to false +# +class cloud::compute::scheduler( + $scheduler_default_filters = false +){ include 'cloud::compute' @@ -24,4 +29,8 @@ class cloud::compute::scheduler { enabled => true, } + class { 'nova::scheduler::filter': + scheduler_default_filters => $scheduler_default_filters, + } + } diff --git a/spec/classes/cloud_compute_scheduler_spec.rb b/spec/classes/cloud_compute_scheduler_spec.rb index c894ba1b..e54f2eda 100644 --- a/spec/classes/cloud_compute_scheduler_spec.rb +++ b/spec/classes/cloud_compute_scheduler_spec.rb @@ -43,6 +43,10 @@ describe 'cloud::compute::scheduler' do log_facility => 'LOG_LOCAL0' }" end + let :params do + { :scheduler_default_filters => ['RamFilter', 'ComputeFilter'] } + end + it 'configure nova common' do should contain_class('nova').with( :verbose => true, @@ -86,6 +90,15 @@ describe 'cloud::compute::scheduler' do should contain_class('nova::scheduler').with(:enabled => true) end + it 'configure nova-scheduler filters' do + should contain_class('nova::scheduler::filter').with( + :scheduler_default_filters => ['RamFilter', 'ComputeFilter'] + ) + should contain_nova_config('DEFAULT/scheduler_default_filters').with( + 'value' => "RamFilter,ComputeFilter" + ) + end + end context 'on Debian platforms' do