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: I1ef3bac653e5333feb6e2cf83025e6bb13eaebf4
Closes-Bug: #1904962
This commit is contained in:
ZhongShengping 2020-11-23 09:27:52 +08:00
parent 4637305569
commit 767d291f7a
3 changed files with 17 additions and 5 deletions

View File

@ -14,9 +14,14 @@
# (Optional) Specify the keystone system user to be used with keystone-manage.
# Defaults to $::keystone::params::keystone_user
#
# [*db_sync_timeout*]
# (Optional) Timeout for the execution of the db_sync
# Defaults to 300
#
class keystone::db::sync(
$extra_params = undef,
$keystone_user = $::keystone::params::keystone_user,
$extra_params = undef,
$keystone_user = $::keystone::params::keystone_user,
$db_sync_timeout = 300,
) inherits keystone::params {
include keystone::deps
@ -28,6 +33,7 @@ class keystone::db::sync(
refreshonly => true,
try_sleep => 5,
tries => 10,
timeout => $db_sync_timeout,
logoutput => on_failure,
subscribe => [
Anchor['keystone::install::end'],

View File

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

View File

@ -13,6 +13,7 @@ describe 'keystone::db::sync' do
:user => 'keystone',
:try_sleep => 5,
:tries => 10,
:timeout => 300,
:refreshonly => true,
:logoutput => 'on_failure',
:subscribe => ['Anchor[keystone::install::end]',
@ -24,11 +25,12 @@ describe 'keystone::db::sync' do
}
end
describe "overriding extra_params and keystone user" do
describe "overriding params" do
let :params do
{
:extra_params => '--config-file /etc/keystone/keystone.conf',
:keystone_user => 'test_user',
:extra_params => '--config-file /etc/keystone/keystone.conf',
:keystone_user => 'test_user',
:db_sync_timeout => 750,
}
end
@ -39,6 +41,7 @@ describe 'keystone::db::sync' do
:user => 'test_user',
:try_sleep => 5,
:tries => 10,
:timeout => 750,
:refreshonly => true,
:logoutput => 'on_failure',
:subscribe => ['Anchor[keystone::install::end]',