]> review.fuel-infra Code Review - puppet-modules/puppet-ceilometer.git/commitdiff
Make 'alarm_history_time_to_live' parameter configurable
authoriberezovskiy <iberezovskiy@mirantis.com>
Mon, 14 Sep 2015 15:00:22 +0000 (18:00 +0300)
committeriberezovskiy <iberezovskiy@mirantis.com>
Wed, 16 Sep 2015 12:57:55 +0000 (15:57 +0300)
alarm_history_time_to_live is new ceilometer parameter:
http://specs.openstack.org/openstack/ceilometer-specs/specs/liberty/delete-alarmhistory.html

Make time_to_live parameter deprecated in favor of metering_time_to_live

Change-Id: Ifd16853779101202c4d6ea5a7237aeceeb0ade7c

manifests/expirer.pp
manifests/init.pp
spec/classes/ceilometer_init_spec.rb

index 33f9d0ef39b4cca83982c86b8b1a3c13fa91788b..edd518ecd0a8153ca76a6c0e0a1152d6ef9f730d 100644 (file)
 #
 # === 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.
 #  [*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;
   }
index 7d65717c7c1c33e7f79ed2d7fbe2de7514e8e997..b3dbdaaf7cce48805b352b92b60285db2ff32df6 100644 (file)
 #    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
index ceb1bbe5f0f5fbdfa3ed6af23a206ba7271ac30c..34bb792dfc021869355497815af983c138608211 100644 (file)
@@ -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