Merge "Allow configuration of limit of batch size for exirer"

This commit is contained in:
Zuul 2020-09-25 14:30:16 +00:00 committed by Gerrit Code Review
commit 0693968083
3 changed files with 27 additions and 9 deletions

View File

@ -30,6 +30,10 @@
# all cron jobs at the same time on all hosts this job is configured.
# Defaults to 0.
#
# [*events_delete_batch_size*]
# (optional) Limit number of deleted events in single purge run.
# Defaults to $::os_service_default.
#
# DEPRECATED PARAMETERS
#
# [*enable_cron*]
@ -38,13 +42,14 @@
# Defaults to undef,
#
class panko::expirer (
$ensure = 'present',
$minute = 1,
$hour = 0,
$monthday = '*',
$month = '*',
$weekday = '*',
$maxdelay = 0,
$ensure = 'present',
$minute = 1,
$hour = 0,
$monthday = '*',
$month = '*',
$weekday = '*',
$maxdelay = 0,
$events_delete_batch_size = $::os_service_default,
# DEPRECATED PARAMETERS
$enable_cron = undef,
) {
@ -71,6 +76,10 @@ in a future release. Use panko::expirer::ensure instead')
$sleep = "sleep `expr \${RANDOM} \\% ${maxdelay}`; "
}
panko_config { 'database/events_delete_batch_size':
value => $events_delete_batch_size
}
cron { 'panko-expirer':
ensure => $ensure_real,
command => "${sleep}${panko::params::expirer_command}",

View File

@ -0,0 +1,6 @@
---
features:
- |
Added events_delete_batch_size parameter to the expirer class to enable configuration
of the parameter with same name. It serves the purpose of limiting number of deleted
events in single purge run.

View File

@ -9,6 +9,7 @@ describe 'panko::expirer' do
context 'with default' do
it { is_expected.to contain_class('panko::deps') }
it { is_expected.to contain_class('panko::params') }
it { is_expected.to contain_panko_config('database/events_delete_batch_size').with_value('<SERVICE DEFAULT>') }
it { is_expected.to contain_cron('panko-expirer').with(
:ensure => 'present',
@ -27,13 +28,15 @@ describe 'panko::expirer' do
context 'with overridden parameters' do
before do
params.merge!(
:ensure => 'absent',
:maxdelay => 300
:ensure => 'absent',
:maxdelay => 300,
:events_delete_batch_size => 500
)
end
it { is_expected.to contain_class('panko::deps') }
it { is_expected.to contain_class('panko::params') }
it { is_expected.to contain_panko_config('database/events_delete_batch_size').with_value(500) }
it { is_expected.to contain_cron('panko-expirer').with(
:ensure => 'absent',