Merge "expirer: remove the crontab if enable_cron is False"

This commit is contained in:
Jenkins 2017-05-23 03:53:00 +00:00 committed by Gerrit Code Review
commit fec3e733bf
3 changed files with 36 additions and 11 deletions

View File

@ -23,6 +23,8 @@
#
# [*enable_cron*]
# (optional) Whether to configure a crontab entry to run the expiry.
# When set to False, Puppet will try to remove the crontab.
# It's useful when we upgrade from Ocata to Pike and want to remove it.
# Defaults to true.
#
# [*minute*]
@ -54,16 +56,21 @@ class ceilometer::expirer (
Anchor['ceilometer::install::end'] ~> Class['ceilometer::expirer']
if $enable_cron {
cron { 'ceilometer-expirer':
command => $ceilometer::params::expirer_command,
environment => 'PATH=/bin:/usr/bin:/usr/sbin SHELL=/bin/sh',
user => 'ceilometer',
minute => $minute,
hour => $hour,
monthday => $monthday,
month => $month,
weekday => $weekday
}
$ensure = 'present'
} else {
$ensure = 'absent'
}
cron { 'ceilometer-expirer':
ensure => $ensure,
command => $ceilometer::params::expirer_command,
environment => 'PATH=/bin:/usr/bin:/usr/sbin SHELL=/bin/sh',
user => 'ceilometer',
minute => $minute,
hour => $hour,
monthday => $monthday,
month => $month,
weekday => $weekday
}
}

View File

@ -0,0 +1,5 @@
---
upgrade:
- When ceilometer::expirer::enable_cron is set to False, Puppet will
try to remove the crontab. It's useful when you upgrade from Ocata
to Pike and you want the crontab to be removed (the service is deprecated).

View File

@ -44,6 +44,7 @@ describe 'ceilometer::expirer' do
it 'configures a cron' do
is_expected.to contain_cron('ceilometer-expirer').with(
:ensure => 'present',
:command => 'ceilometer-expirer',
:environment => 'PATH=/bin:/usr/bin:/usr/sbin SHELL=/bin/sh',
:user => 'ceilometer',
@ -60,7 +61,19 @@ describe 'ceilometer::expirer' do
params.merge!({
:enable_cron => false })
end
it { is_expected.to_not contain_cron('ceilometer-expirer') }
it {
is_expected.to contain_cron('ceilometer-expirer').with(
:ensure => 'absent',
:command => 'ceilometer-expirer',
:environment => 'PATH=/bin:/usr/bin:/usr/sbin SHELL=/bin/sh',
:user => 'ceilometer',
:minute => 1,
:hour => 0,
:monthday => '*',
:month => '*',
:weekday => '*'
)
}
end
end