#
# [*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*]
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
}
}
--- /dev/null
+---
+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).
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',
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