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: Ic4494c93ebb0449d16d5db6f780b3971a17b038a
Closes-Bug: #1904962
This commit is contained in:
ZhongShengping
2020-11-23 09:27:52 +08:00
parent a6a9889c58
commit 5722f53b39
3 changed files with 37 additions and 1 deletions

View File

@@ -8,8 +8,13 @@
# to the cloudkitty-dbsync command.
# Defaults to undef
#
# [*db_sync_timeout*]
# (Optional) Timeout for the execution of the db_sync
# Defaults to 300
#
class cloudkitty::db::sync(
$extra_params = undef,
$extra_params = undef,
$db_sync_timeout = 300,
) {
include cloudkitty::deps
@@ -21,6 +26,7 @@ class cloudkitty::db::sync(
refreshonly => true,
try_sleep => 5,
tries => 10,
timeout => $db_sync_timeout,
logoutput => on_failure,
subscribe => [
Anchor['cloudkitty::install::end'],

View File

@@ -0,0 +1,3 @@
---
features:
- Adds db_sync_timeout parameter to db sync.

View File

@@ -14,6 +14,7 @@ describe 'cloudkitty::db::sync' do
:user => 'cloudkitty',
:try_sleep => 5,
:tries => 10,
:timeout => 300,
:logoutput => 'on_failure',
:subscribe => ['Anchor[cloudkitty::install::end]',
'Anchor[cloudkitty::config::end]',
@@ -23,6 +24,32 @@ describe 'cloudkitty::db::sync' do
)
end
describe "overriding db_sync_timeout" do
let :params do
{
:db_sync_timeout => 750,
}
end
it {
is_expected.to contain_exec('cloudkitty-db-sync').with(
:command => 'cloudkitty-dbsync upgrade ',
:path => [ '/bin', '/usr/bin', ],
:refreshonly => 'true',
:user => 'cloudkitty',
:try_sleep => 5,
:tries => 10,
:timeout => 750,
:logoutput => 'on_failure',
:subscribe => ['Anchor[cloudkitty::install::end]',
'Anchor[cloudkitty::config::end]',
'Anchor[cloudkitty::dbsync::begin]'],
:notify => 'Anchor[cloudkitty::dbsync::end]',
:tag => 'openstack-db',
)
}
end
end
on_supported_os({