diff --git a/manifests/expirer.pp b/manifests/expirer.pp index 33f9d0ef..edd518ec 100644 --- a/manifests/expirer.pp +++ b/manifests/expirer.pp @@ -21,11 +21,6 @@ # # === Parameters # -# [*time_to_live*] -# (optional) Number of seconds that samples are kept in the database. -# Should be a valid integer -# Defaults to '-1' to disable TTL and keep forever the datas. -# # [*enable_cron*] # (optional) Whether to configure a crontab entry to run the expiry. # Defaults to true. @@ -45,21 +40,28 @@ # [*weekday*] # (optional) Defaults to '*'. # +# [*time_to_live*] +# (optional) DEPRECATED. Number of seconds that samples are kept in the database. +# Should be a valid integer +# Defaults to '-1' to disable TTL and keep forever the datas. class ceilometer::expirer ( - $time_to_live = '-1', $enable_cron = True, $minute = 1, $hour = 0, $monthday = '*', $month = '*', $weekday = '*', + # Deprecated parameters + $time_to_live = '-1', ) { include ::ceilometer::params Package<| title == 'ceilometer-common' |> -> Class['ceilometer::expirer'] + warning('Parameter "time_to_live" is deprecated and will be removed in next release. Use metering_time_to_live in "ceilometer" class instead.') + ceilometer_config { 'database/time_to_live': value => $time_to_live; } diff --git a/manifests/init.pp b/manifests/init.pp index 7d65717c..b3dbdaaf 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -15,6 +15,10 @@ # number of seconds that samples are kept in the database for # (<= 0 means forever) # Defaults to -1 +# [*alarm_history_time_to_live*] +# number of seconds that alarm histories are kept in the database for +# (<= 0 means forever) +# Defaults to -1 # [*metering_secret*] # secret key for signing messages. Mandatory. # [*notification_topics*] @@ -111,6 +115,7 @@ class ceilometer( $http_timeout = '600', $event_time_to_live = '-1', $metering_time_to_live = '-1', + $alarm_history_time_to_live = '-1', $metering_secret = false, $notification_topics = ['notifications'], $package_ensure = 'present', @@ -294,15 +299,16 @@ class ceilometer( # Once we got here, we can act as an honey badger on the rpc used. ceilometer_config { - 'DEFAULT/http_timeout' : value => $http_timeout; - 'DEFAULT/rpc_backend' : value => $rpc_backend; - 'publisher/metering_secret' : value => $metering_secret, secret => true; - 'DEFAULT/debug' : value => $debug; - 'DEFAULT/verbose' : value => $verbose; - 'DEFAULT/use_stderr' : value => $use_stderr; - 'DEFAULT/notification_topics' : value => join($notification_topics, ','); - 'database/event_time_to_live' : value => $event_time_to_live; - 'database/metering_time_to_live' : value => $metering_time_to_live; + 'DEFAULT/http_timeout' : value => $http_timeout; + 'DEFAULT/rpc_backend' : value => $rpc_backend; + 'publisher/metering_secret' : value => $metering_secret, secret => true; + 'DEFAULT/debug' : value => $debug; + 'DEFAULT/verbose' : value => $verbose; + 'DEFAULT/use_stderr' : value => $use_stderr; + 'DEFAULT/notification_topics' : value => join($notification_topics, ','); + 'database/event_time_to_live' : value => $event_time_to_live; + 'database/metering_time_to_live' : value => $metering_time_to_live; + 'database/alarm_history_time_to_live' : value => $alarm_history_time_to_live; } # Log configuration diff --git a/spec/classes/ceilometer_init_spec.rb b/spec/classes/ceilometer_init_spec.rb index ceb1bbe5..34bb792d 100644 --- a/spec/classes/ceilometer_init_spec.rb +++ b/spec/classes/ceilometer_init_spec.rb @@ -4,15 +4,16 @@ describe 'ceilometer' do let :params do { - :http_timeout => '600', - :event_time_to_live => '604800', - :metering_time_to_live => '604800', - :metering_secret => 'metering-s3cr3t', - :package_ensure => 'present', - :debug => 'False', - :log_dir => '/var/log/ceilometer', - :verbose => 'False', - :use_stderr => 'True', + :http_timeout => '600', + :event_time_to_live => '604800', + :metering_time_to_live => '604800', + :alarm_history_time_to_live => '604800', + :metering_secret => 'metering-s3cr3t', + :package_ensure => 'present', + :debug => 'False', + :log_dir => '/var/log/ceilometer', + :verbose => 'False', + :use_stderr => 'True', } end @@ -38,9 +39,10 @@ describe 'ceilometer' do shared_examples_for 'ceilometer' do - it 'configures time to live for events and meters' do + it 'configures time to live for events, meters and alarm histories' do is_expected.to contain_ceilometer_config('database/event_time_to_live').with_value( params[:event_time_to_live] ) is_expected.to contain_ceilometer_config('database/metering_time_to_live').with_value( params[:metering_time_to_live] ) + is_expected.to contain_ceilometer_config('database/alarm_history_time_to_live').with_value( params[:alarm_history_time_to_live] ) end it 'configures timeout for HTTP requests' do