From 6dba575af6f119385614b390c92dc258032a480e Mon Sep 17 00:00:00 2001 From: Emilien Macchi Date: Tue, 18 Mar 2014 15:43:18 +0100 Subject: [PATCH] RBD backend: use ensure_resource In the case we want to declare more than one backend using RBD driver, we have a resource dupplication which could be fixed by using stlib functions. Closes-bug #1294138 Signed-off-by: Emilien Macchi Change-Id: I1783540cd8218e8bafb4d0b860ca4c5992f35a19 --- manifests/backend/rbd.pp | 14 ++++++-------- spec/defines/cinder_backend_rbd_spec.rb | 14 ++++++++++++++ 2 files changed, 20 insertions(+), 8 deletions(-) diff --git a/manifests/backend/rbd.pp b/manifests/backend/rbd.pp index 6ef798dd..d8262ac4 100644 --- a/manifests/backend/rbd.pp +++ b/manifests/backend/rbd.pp @@ -98,14 +98,12 @@ define cinder::backend::rbd ( } # Creates an empty file if it doesn't yet exist - file { $::cinder::params::ceph_init_override: - ensure => present, - } + ensure_resource('file', $::cinder::params::ceph_init_override, {'ensure' => 'present'}) - file_line { 'set initscript env': - line => $override_line, - path => $::cinder::params::ceph_init_override, - notify => Service['cinder-volume'], - } + ensure_resource('file_line', 'set initscript env', { + line => $override_line, + path => $::cinder::params::ceph_init_override, + notify => Service['cinder-volume'] + }) } diff --git a/spec/defines/cinder_backend_rbd_spec.rb b/spec/defines/cinder_backend_rbd_spec.rb index 26e49458..0636344c 100644 --- a/spec/defines/cinder_backend_rbd_spec.rb +++ b/spec/defines/cinder_backend_rbd_spec.rb @@ -56,6 +56,20 @@ describe 'cinder::backend::rbd' do it { should contain_cinder_config("#{req_params[:volume_backend_name]}/volume_tmp_dir").with_ensure('absent') } end + context 'with another RBD backend' do + let :pre_condition do + "cinder::backend::rbd { 'ceph2': + rbd_pool => 'volumes2', + rbd_user => 'test' + }" + end + it { should contain_cinder_config("#{req_params[:volume_backend_name]}/volume_driver").with_value('cinder.volume.drivers.rbd.RBDDriver') } + it { should contain_cinder_config("#{req_params[:volume_backend_name]}/rbd_pool").with_value(req_params[:rbd_pool]) } + it { should contain_cinder_config("#{req_params[:volume_backend_name]}/rbd_user").with_value(req_params[:rbd_user]) } + it { should contain_cinder_config("ceph2/volume_driver").with_value('cinder.volume.drivers.rbd.RBDDriver') } + it { should contain_cinder_config("ceph2/rbd_pool").with_value('volumes2') } + it { should contain_cinder_config("ceph2/rbd_user").with_value('test') } + end end describe 'with RedHat' do