From 84db12e9d892bfef1ddaae94b402120fe3413e90 Mon Sep 17 00:00:00 2001 From: Xingchao Yu Date: Wed, 19 Aug 2015 12:14:49 +0800 Subject: [PATCH] Add enabled_notification_handlers option This patch is aim to add enabled_notification_handlers option in designate::sink, which is the only option exist in sink service. Change-Id: Idb724f7564ff55c80964b5c2beae26f77e1e3bad Close-Bug: #1486305 --- manifests/sink.pp | 29 +++++++++++++++++++++++------ spec/classes/designate_sink_spec.rb | 8 ++++++++ 2 files changed, 31 insertions(+), 6 deletions(-) diff --git a/manifests/sink.pp b/manifests/sink.pp index 937091c7..655f867e 100644 --- a/manifests/sink.pp +++ b/manifests/sink.pp @@ -13,18 +13,25 @@ # Defaults to sink_package_name from designate::params # # [*enabled*] -# (optional) Whether to enable services. -# Defaults to true +# (optional) Whether to enable services. +# Defaults to true # # [*service_ensure*] # (optional) Whether the designate sink service will be running. # Defaults to 'running' # +# [*enabled_notification_handlers*] +# (optional) List of notification handlers to enable, configuration of +# these needs to correspond to a [handler:my_driver] section below or +# else in the config. +# Defaults to undef +# class designate::sink ( - $package_ensure = present, - $sink_package_name = undef, - $enabled = true, - $service_ensure = 'running', + $package_ensure = present, + $sink_package_name = undef, + $enabled = true, + $service_ensure = 'running', + $enabled_notification_handlers = undef, ) { include ::designate::params @@ -34,6 +41,16 @@ class designate::sink ( tag => ['openstack', 'designate-package'], } + if $enabled_notification_handlers { + designate_config { + 'service:sink/enabled_notification_handlers': value => join($enabled_notification_handlers,',') + } + } else { + designate_config { + 'service:sink/enabled_notification_handlers': ensure => absent + } + } + service { 'designate-sink': ensure => $service_ensure, name => $::designate::params::sink_service_name, diff --git a/spec/classes/designate_sink_spec.rb b/spec/classes/designate_sink_spec.rb index d4be6ef3..ded5ea10 100644 --- a/spec/classes/designate_sink_spec.rb +++ b/spec/classes/designate_sink_spec.rb @@ -24,6 +24,14 @@ describe 'designate::sink' do :ensure => 'present', :tag => ['openstack', 'designate-package'], ) + is_expected.to contain_designate_config('service:sink/enabled_notification_handlers').with_ensure('absent') + end + + context 'when using enabled_notification_handlers' do + before { params.merge!(:enabled_notification_handlers => ['nova_fixed','neutron_floatingip']) } + it 'configures designate-sink with enabled_notification_handlers' do + is_expected.to contain_designate_config('service:sink/enabled_notification_handlers').with_value(['nova_fixed,neutron_floatingip']) + end end end end