65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
|
# File 'manifests/cron/purge_shadow_tables.pp', line 65
class nova::cron::purge_shadow_tables (
$minute = 0,
$hour = 5,
$monthday = '*',
$month = '*',
$weekday = '*',
$user = undef,
$destination = '/var/log/nova/nova-rowspurge.log',
$age = 14,
$all_cells = false,
$verbose = false,
$maxdelay = 0,
) {
include nova::deps
include nova::params
if $verbose {
$verbose_real = ' --verbose'
}
else {
$verbose_real = ''
}
if $all_cells {
$all_cells_real = ' --all-cells'
}
else {
$all_cells_real = ''
}
if $maxdelay == 0 {
$delay_cmd = ''
} else {
$delay_cmd = "sleep `expr \${RANDOM} \\% ${maxdelay}`; "
}
$cron_cmd = 'nova-manage db purge'
cron { 'nova-manage db purge':
# lint:ignore:140chars
command => "${delay_cmd}${cron_cmd} --before `date --date='today - ${age} days' +\\%D`${verbose_real}${all_cells_real} >>${destination} 2>&1",
# lint:endignore
environment => 'PATH=/bin:/usr/bin:/usr/sbin SHELL=/bin/sh',
user => pick($user, $::nova::params::nova_user),
minute => $minute,
hour => $hour,
monthday => $monthday,
month => $month,
weekday => $weekday,
require => Anchor['nova::dbsync::end']
}
}
|