]> review.fuel-infra Code Review - puppet-modules/puppet-ceilometer.git/commitdiff
Add support for db_max_retries param
authorCarlos Camacho <ccamacho@redhat.com>
Mon, 9 May 2016 14:25:48 +0000 (16:25 +0200)
committerEmilien Macchi <emilien@redhat.com>
Sun, 15 May 2016 08:39:17 +0000 (08:39 +0000)
The db_max_retries parameter regulates the number of reconnection
attempts performed after an error raised rather than at startup.

Change-Id: Iaf0d5ada30e0ea57d454ab1850cc61ee658cef64
Closes-Bug: 1579718
Co-Authored-By: Giulio Fidende <gfidente@redhat.com>
manifests/db.pp
spec/classes/ceilometer_db_spec.rb

index 0f0bc5cf3ea98ba7152cff6488d14ffc18d9c682..226e32e0ad640226be7dbf4dd564303648e01724 100644 (file)
@@ -6,6 +6,11 @@
 #
 # === Parameters:
 #
+# [*database_db_max_retries*]
+#   (optional) Maximum retries in case of connection error or deadlock error
+#   before error is raised. Set to -1 to specify an infinite retry count.
+#   Defaults to $::os_service_default
+#
 # [*database_connection*]
 #   (Optional) Url used to connect to database.
 #   Defaults to 'mysql://ceilometer:ceilometer@localhost/ceilometer'.
@@ -40,6 +45,7 @@
 #   Defaults to true.
 #
 class ceilometer::db (
+  $database_db_max_retries = $::os_service_default,
   $database_connection     = 'mysql://ceilometer:ceilometer@localhost/ceilometer',
   $database_idle_timeout   = $::os_service_default,
   $database_min_pool_size  = $::os_service_default,
@@ -53,6 +59,7 @@ class ceilometer::db (
   Package<| title == 'ceilometer-common' |> -> Class['ceilometer::db']
 
   oslo::db { 'ceilometer_config':
+    db_max_retries => $database_db_max_retries,
     connection     => $database_connection,
     idle_timeout   => $database_idle_timeout,
     min_pool_size  => $database_min_pool_size,
index 5b092e902126e6a7e31c13d564dca29a5b39701d..1da5b16fa50e6894b06d15b376f526e1c419d370 100644 (file)
@@ -6,6 +6,7 @@ describe 'ceilometer::db' do
 
     context 'with default parameters' do
 
+      it { is_expected.to contain_ceilometer_config('database/db_max_retries').with_value('<SERVICE DEFAULT>') }
       it { is_expected.to contain_class('ceilometer::params') }
       it { is_expected.to contain_class('ceilometer::db::sync') }
       it { is_expected.to contain_ceilometer_config('database/connection').with_value('mysql://ceilometer:ceilometer@localhost/ceilometer').with_secret(true) }
@@ -18,7 +19,9 @@ describe 'ceilometer::db' do
 
     context 'with specific parameters' do
       let :params do
-        { :database_connection     => 'mongodb://localhost:1234/ceilometer',
+        {
+          :database_db_max_retries => '-1',
+          :database_connection     => 'mongodb://localhost:1234/ceilometer',
           :database_idle_timeout   => '3601',
           :database_min_pool_size  => '2',
           :database_max_retries    => '11',
@@ -26,6 +29,7 @@ describe 'ceilometer::db' do
           :sync_db                 => false }
       end
 
+      it { is_expected.to contain_ceilometer_config('database/db_max_retries').with_value('-1') }
       it { is_expected.not_to contain_class('ceilometer::db::sync') }
       it { is_expected.to contain_ceilometer_config('database/connection').with_value('mongodb://localhost:1234/ceilometer').with_secret(true) }
       it { is_expected.to contain_ceilometer_config('database/idle_timeout').with_value('3601') }