
Adds new configuration option for panko-expirer for limiting detele batch size. Change-Id: I7ca0ab9e42352645e463c49f8ce58793115543c0
97 lines
2.3 KiB
Puppet
97 lines
2.3 KiB
Puppet
#
|
|
# == Class: panko::expirer
|
|
#
|
|
# Setups Panko Expirer service to enable TTL feature.
|
|
#
|
|
# === Parameters
|
|
#
|
|
# [*ensure*]
|
|
# (optional) The state of cron job.
|
|
# Defaults to present.
|
|
#
|
|
# [*minute*]
|
|
# (optional) Defaults to '1'.
|
|
#
|
|
# [*hour*]
|
|
# (optional) Defaults to '0'.
|
|
#
|
|
# [*monthday*]
|
|
# (optional) Defaults to '*'.
|
|
#
|
|
# [*month*]
|
|
# (optional) Defaults to '*'.
|
|
#
|
|
# [*weekday*]
|
|
# (optional) Defaults to '*'.
|
|
#
|
|
# [*maxdelay*]
|
|
# (optional) In Seconds. Should be a positive integer.
|
|
# Induces a random delay before running the cronjob to avoid running
|
|
# 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*]
|
|
# (optional) Whether to configure a crontab entry to run the expiry.
|
|
# When set to False, Puppet will try to remove the crontab.
|
|
# Defaults to undef,
|
|
#
|
|
class panko::expirer (
|
|
$ensure = 'present',
|
|
$minute = 1,
|
|
$hour = 0,
|
|
$monthday = '*',
|
|
$month = '*',
|
|
$weekday = '*',
|
|
$maxdelay = 0,
|
|
$events_delete_batch_size = $::os_service_default,
|
|
# DEPRECATED PARAMETERS
|
|
$enable_cron = undef,
|
|
) {
|
|
|
|
include panko::params
|
|
include panko::deps
|
|
|
|
if $enable_cron != undef {
|
|
warning('The panko::expirer::enable_cron is deprecated and will be removed \
|
|
in a future release. Use panko::expirer::ensure instead')
|
|
|
|
if $enable_cron {
|
|
$ensure_real = 'present'
|
|
} else {
|
|
$ensure_real = 'absent'
|
|
}
|
|
} else {
|
|
$ensure_real = $ensure
|
|
}
|
|
|
|
if $maxdelay == 0 {
|
|
$sleep = ''
|
|
} else {
|
|
$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}",
|
|
environment => 'PATH=/bin:/usr/bin:/usr/sbin SHELL=/bin/sh',
|
|
user => 'panko',
|
|
minute => $minute,
|
|
hour => $hour,
|
|
monthday => $monthday,
|
|
month => $month,
|
|
weekday => $weekday,
|
|
require => Anchor['panko::install::end'],
|
|
}
|
|
|
|
}
|