Browse Source

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: Ib6757e9145d1b0dc3cead9b24637019a93576c61
Closes-Bug: #1904962
changes/86/763686/1
ZhongShengping 2 years ago
parent
commit
6eb05e37b2
  1. 8
      manifests/db/sync.pp
  2. 3
      releasenotes/notes/add_db_sync_timeout-9ecc1051400aa393.yaml
  3. 13
      spec/classes/ceilometer_db_sync_spec.rb

8
manifests/db/sync.pp

@ -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'],

3
releasenotes/notes/add_db_sync_timeout-9ecc1051400aa393.yaml

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

13
spec/classes/ceilometer_db_sync_spec.rb

@ -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]',

Loading…
Cancel
Save