From c16009b55bb4e6a11c64e3efcae05aaeed453729 Mon Sep 17 00:00:00 2001 From: ZhongShengping Date: Mon, 23 Nov 2020 09:27:52 +0800 Subject: [PATCH] Allow db sync timeouts to be configurable 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: I9118a6d4e1553ee0715f3fda72d625ccdcdf1b0f Closes-Bug: #1904962 --- manifests/db/sync.pp | 8 +++++++- .../notes/add_db_sync_timeout-830ecd0c0574a659.yaml | 3 +++ spec/classes/heat_db_sync_spec.rb | 7 +++++-- 3 files changed, 15 insertions(+), 3 deletions(-) create mode 100644 releasenotes/notes/add_db_sync_timeout-830ecd0c0574a659.yaml diff --git a/manifests/db/sync.pp b/manifests/db/sync.pp index 39fb5d4b..2cb05866 100644 --- a/manifests/db/sync.pp +++ b/manifests/db/sync.pp @@ -9,8 +9,13 @@ # in the command line between 'heat-manage' and 'db_sync'. # Defaults to '--config-file /etc/heat/heat.conf' # +# [*db_sync_timeout*] +# (Optional) Timeout for the execution of the db_sync +# Defaults to 300 +# class heat::db::sync( - $extra_params = '--config-file /etc/heat/heat.conf', + $extra_params = '--config-file /etc/heat/heat.conf', + $db_sync_timeout = 300, ) { include heat::deps @@ -22,6 +27,7 @@ class heat::db::sync( refreshonly => true, try_sleep => 5, tries => 10, + timeout => $db_sync_timeout, logoutput => on_failure, subscribe => [ Anchor['heat::install::end'], diff --git a/releasenotes/notes/add_db_sync_timeout-830ecd0c0574a659.yaml b/releasenotes/notes/add_db_sync_timeout-830ecd0c0574a659.yaml new file mode 100644 index 00000000..233445f6 --- /dev/null +++ b/releasenotes/notes/add_db_sync_timeout-830ecd0c0574a659.yaml @@ -0,0 +1,3 @@ +--- +features: + - Adds db_sync_timeout parameter to db sync. diff --git a/spec/classes/heat_db_sync_spec.rb b/spec/classes/heat_db_sync_spec.rb index abc3df4b..3b6fa398 100644 --- a/spec/classes/heat_db_sync_spec.rb +++ b/spec/classes/heat_db_sync_spec.rb @@ -14,6 +14,7 @@ describe 'heat::db::sync' do :refreshonly => 'true', :try_sleep => 5, :tries => 10, + :timeout => 300, :logoutput => 'on_failure', :subscribe => ['Anchor[heat::install::end]', 'Anchor[heat::config::end]', @@ -23,10 +24,11 @@ describe 'heat::db::sync' do ) end - describe 'overriding extra_params' do + describe 'overriding params' do let :params do { - :extra_params => '--config-file /etc/heat/heat01.conf', + :extra_params => '--config-file /etc/heat/heat01.conf', + :db_sync_timeout => 750, } end @@ -38,6 +40,7 @@ describe 'heat::db::sync' do :refreshonly => 'true', :try_sleep => 5, :tries => 10, + :timeout => 750, :logoutput => 'on_failure', :subscribe => ['Anchor[heat::install::end]', 'Anchor[heat::config::end]',