]> review.fuel-infra Code Review - puppet-modules/puppet-ceilometer.git/commitdiff
Allow db sync timeouts to be configurable
authorZhongShengping <chdzsp@163.com>
Mon, 23 Nov 2020 01:27:52 +0000 (09:27 +0800)
committerZhongShengping <chdzsp@163.com>
Mon, 23 Nov 2020 01:27:52 +0000 (09:27 +0800)
As Openstack projects continue to have longer database migration
chains, the Puppet default timeout of 300 seconds for an execution
is becoming too short a duration on some hardware, leading to timeouts.
As projects continue to add more migration scripts without pruning
the base, timeouts will continue to become more frequent unless
this time can be expanded.

Change-Id: Ib6757e9145d1b0dc3cead9b24637019a93576c61
Closes-Bug: #1904962

manifests/db/sync.pp
releasenotes/notes/add_db_sync_timeout-9ecc1051400aa393.yaml [new file with mode: 0644]
spec/classes/ceilometer_db_sync_spec.rb

index ef7166d08701428b2779afb3fc7fa0cec038d866..0fa39261696acc18132955832471c93b4376c5bf 100644 (file)
@@ -9,8 +9,13 @@
 #   to append to the ceilometer-upgrade command.
 #   Defaults to undef.
 #
+# [*db_sync_timeout*]
+#   (Optional) Timeout for the execution of the db_sync
+#   Defaults to 300
+#
 class ceilometer::db::sync(
-  $extra_params = undef,
+  $extra_params    = undef,
+  $db_sync_timeout = 300,
 ) {
 
   include ceilometer::deps
@@ -23,6 +28,7 @@ class ceilometer::db::sync(
     refreshonly => true,
     try_sleep   => 5,
     tries       => 10,
+    timeout     => $db_sync_timeout,
     logoutput   => on_failure,
     subscribe   => [
       Anchor['ceilometer::install::end'],
diff --git a/releasenotes/notes/add_db_sync_timeout-9ecc1051400aa393.yaml b/releasenotes/notes/add_db_sync_timeout-9ecc1051400aa393.yaml
new file mode 100644 (file)
index 0000000..233445f
--- /dev/null
@@ -0,0 +1,3 @@
+---
+features:
+  - Adds db_sync_timeout parameter to db sync.
index b9f8c781671a40069c95918a633aa8800959249b..c96f79eadfb9c2363ef53752656b86a731a964f4 100644 (file)
@@ -14,6 +14,7 @@ describe 'ceilometer::db::sync' do
         :user        => 'ceilometer',
         :try_sleep   => 5,
         :tries       => 10,
+        :timeout     => 300,
         :logoutput   => 'on_failure',
         :subscribe   => ['Anchor[ceilometer::install::end]',
                          'Anchor[ceilometer::config::end]',
@@ -23,20 +24,22 @@ describe 'ceilometer::db::sync' do
       )
     end
 
-    describe 'overriding extra_params' do
+    describe 'overriding params' do
       let :params do
         {
-          :extra_params => '--config-file=/etc/ceilometer/ceilometer_01.conf',
+          :extra_params    => '--config-file=/etc/ceilometer/ceilometer_01.conf',
+          :db_sync_timeout => 750,
         }
       end
 
       it { is_expected.to contain_exec('ceilometer-upgrade').with(
-        :command    => 'ceilometer-upgrade --config-file=/etc/ceilometer/ceilometer_01.conf',
-        :path       => '/usr/bin',
-        :user       => 'ceilometer',
+        :command     => 'ceilometer-upgrade --config-file=/etc/ceilometer/ceilometer_01.conf',
+        :path        => '/usr/bin',
+        :user        => 'ceilometer',
         :refreshonly => 'true',
         :try_sleep   => 5,
         :tries       => 10,
+        :timeout     => 750,
         :logoutput   => 'on_failure',
         :subscribe   => ['Anchor[ceilometer::install::end]',
                          'Anchor[ceilometer::config::end]',