]> review.fuel-infra Code Review - puppet-modules/puppet-ceilometer.git/commitdiff
Allow customization of db sync command line
authorNate Potter <nathaniel.potter@intel.com>
Tue, 3 Nov 2015 16:22:01 +0000 (16:22 +0000)
committerNate Potter <nathaniel.potter@intel.com>
Tue, 3 Nov 2015 16:50:23 +0000 (16:50 +0000)
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

manifests/db/sync.pp
spec/classes/ceilometer_db_sync_spec.rb

index fd9d7fa35805ec53920805a9e3fae450a3d74abf..8d4bf6cd2663132eb9a3ade6ca2fd0480d4bd475 100644 (file)
@@ -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,
index 9e3761ba8199e396ef54a318121244f8982a2d6e..139d4a31e5cf1135ae025488e291a2725c389920 100644 (file)
@@ -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
       {