diff --git a/manifests/init.pp b/manifests/init.pp index 2a4fb1a..e4466c1 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -63,6 +63,11 @@ # on some distributions. # Defaults to $::os_service_default # +# [*purge_config*] +# (optional) Whether to set only the specified config options +# in the magnum config. +# Defaults to false. +# class magnum( $package_ensure = 'present', $notification_driver = $::os_service_default, @@ -78,6 +83,7 @@ class magnum( $kombu_ssl_certfile = $::os_service_default, $kombu_ssl_keyfile = $::os_service_default, $kombu_ssl_version = $::os_service_default, + $purge_config = false, ) { include ::magnum::params @@ -91,6 +97,10 @@ class magnum( tag => ['openstack', 'magnum-package'], } + resources { 'magnum_config': + purge => $purge_config, + } + if $rpc_backend == 'rabbit' { if ! $rabbit_password { diff --git a/spec/classes/magnum_init_spec.rb b/spec/classes/magnum_init_spec.rb index 11a033e..d59d879 100644 --- a/spec/classes/magnum_init_spec.rb +++ b/spec/classes/magnum_init_spec.rb @@ -5,6 +5,9 @@ describe 'magnum' do shared_examples 'magnum' do context 'with default parameters' do + let :params do + { :purge_config => false } + end it 'contains other classes' do is_expected.to contain_class('magnum::logging') @@ -27,6 +30,12 @@ describe 'magnum' do ) end + it 'passes purge to resource' do + is_expected.to contain_resources('magnum_config').with({ + :purge => false + }) + end + it 'configures rabbit' do is_expected.to contain_magnum_config('DEFAULT/rpc_backend').with_value('rabbit') is_expected.to contain_magnum_config('oslo_messaging_rabbit/rabbit_host').with_value('')