1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
|
# == Class: glance::cache::cleaner
#
# Installs a cron job to run glance-cache-cleaner.
#
# === Parameters
#
# [*minute*]
# (optional) Defaults to '1'.
#
# [*hour*]
# (optional) Defaults to '0'.
#
# [*monthday*]
# (optional) Defaults to '*'.
#
# [*month*]
# (optional) Defaults to '*'.
#
# [*weekday*]
# (optional) Defaults to '*'.
#
# [*command_options*]
# (optional) command options to add to the cronjob
# (eg. point to config file, or redirect output)
# 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.
#
# [*ensure*]
# (optional) Ensure cron jobs present or absent
# Defaults to present.
#
class glance::cache::cleaner(
$minute = 1,
$hour = 0,
$monthday = '*',
$month = '*',
$weekday = '*',
$command_options = '',
Integer[0] $maxdelay = 0,
Enum['present', 'absent'] $ensure = 'present',
) {
include glance::deps
include glance::params
if $maxdelay == 0 {
$sleep = ''
} else {
$sleep = "sleep `expr \${RANDOM} \\% ${maxdelay}`; "
}
cron { 'glance-cache-cleaner':
ensure => $ensure,
command => "${sleep}${glance::params::cache_cleaner_command} ${command_options}",
environment => 'PATH=/bin:/usr/bin:/usr/sbin',
user => $::glance::params::user,
minute => $minute,
hour => $hour,
monthday => $monthday,
month => $month,
weekday => $weekday,
require => Anchor['glance::config::end'],
}
}
|