From: Nate Potter Date: Tue, 3 Nov 2015 16:22:01 +0000 (+0000) Subject: Allow customization of db sync command line X-Git-Tag: 7.0.0~7 X-Git-Url: https://review.fuel-infra.org/gitweb?a=commitdiff_plain;h=fa33bb0ad6e2481146d4341725556e6bdab1938b;p=puppet-modules%2Fpuppet-ceilometer.git Allow customization of db sync command line Add parameter to ceilometer::db::sync class to allow end users to add command line parameters to the db sync command. Change-Id: I664a822ef2962d5cb32bef7573e13f0b57ee6057 Partial-bug: #1472740 --- diff --git a/manifests/db/sync.pp b/manifests/db/sync.pp index fd9d7fa..8d4bf6c 100644 --- a/manifests/db/sync.pp +++ b/manifests/db/sync.pp @@ -1,7 +1,16 @@ # # Class to execute ceilometer dbsync # -class ceilometer::db::sync { +# == Parameters +# +# [*extra_params*] +# (optional) String of extra command line parameters +# to append to the ceilometer-dbsync command. +# Defaults to undef +# +class ceilometer::db::sync( + $extra_params = undef, +) { include ::ceilometer::params @@ -12,7 +21,7 @@ class ceilometer::db::sync { Ceilometer_config<| title == 'database/connection' |> ~> Exec['ceilometer-dbsync'] exec { 'ceilometer-dbsync': - command => $::ceilometer::params::dbsync_command, + command => "${::ceilometer::params::dbsync_command} ${extra_params}", path => '/usr/bin', user => $::ceilometer::params::user, refreshonly => true, diff --git a/spec/classes/ceilometer_db_sync_spec.rb b/spec/classes/ceilometer_db_sync_spec.rb index 9e3761b..139d4a3 100644 --- a/spec/classes/ceilometer_db_sync_spec.rb +++ b/spec/classes/ceilometer_db_sync_spec.rb @@ -6,7 +6,7 @@ describe 'ceilometer::db::sync' do it 'runs ceilometer-dbsync' do is_expected.to contain_exec('ceilometer-dbsync').with( - :command => 'ceilometer-dbsync --config-file=/etc/ceilometer/ceilometer.conf', + :command => 'ceilometer-dbsync --config-file=/etc/ceilometer/ceilometer.conf ', :path => '/usr/bin', :refreshonly => 'true', :user => 'ceilometer', @@ -14,8 +14,26 @@ describe 'ceilometer::db::sync' do ) end + describe 'overriding extra_params' do + let :params do + { + :extra_params => '--config-file=/etc/ceilometer/ceilometer_01.conf', + } + end + + it { is_expected.to contain_exec('ceilometer-dbsync').with( + :command => 'ceilometer-dbsync --config-file=/etc/ceilometer/ceilometer.conf --config-file=/etc/ceilometer/ceilometer_01.conf', + :path => '/usr/bin', + :user => 'ceilometer', + :refreshonly => 'true', + :logoutput => 'on_failure' + ) + } + end + end + context 'on a RedHat osfamily' do let :facts do {