puppet-trove/manifests/db/sync.pp
ZhongShengping 0cb3a8b007 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: I19e62ec5f811b262b464815a5d7b6b7e2ed2eac1
Closes-Bug: #1904962
2020-11-23 09:27:52 +08:00

47 lines
1.3 KiB
Puppet

#
# Copyright (C) 2014 eNovance SAS <licensing@enovance.com>
#
# Author: Emilien Macchi <emilien.macchi@enovance.com>
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
# Class to execute "trove-manage db_sync
#
# [*db_sync_timeout*]
# (Optional) Timeout for the execution of the db_sync
# Defaults to 300
#
class trove::db::sync(
$db_sync_timeout = 300,
) {
include trove::deps
exec { 'trove-manage db_sync':
path => '/usr/bin',
user => 'trove',
refreshonly => true,
try_sleep => 5,
tries => 10,
timeout => $db_sync_timeout,
logoutput => on_failure,
subscribe => [
Anchor['trove::install::end'],
Anchor['trove::config::end'],
Anchor['trove::dbsync::begin']
],
notify => Anchor['trove::dbsync::end'],
tag => 'openstack-db',
}
}