]> review.fuel-infra Code Review - puppet-modules/puppet-ceilometer.git/commitdiff
Deprecate idle_timeout option 15.0.0
authorZhongShengping <chdzsp@163.com>
Sun, 28 Apr 2019 07:00:06 +0000 (15:00 +0800)
committerZhongShengping <chdzsp@163.com>
Sun, 28 Apr 2019 08:56:50 +0000 (16:56 +0800)
The idle_timeout parameter is deprecated, use connection_recycle_time
instead[1].

[1]https://review.opendev.org/#/c/334182/

Change-Id: I739b592c9482a4a1e38457323e5497f27d64e1e2
Depends-On: https://review.opendev.org/656106/
Closes-Bug: #1826692

manifests/db.pp
releasenotes/notes/deprecate_idle_timeout_parameter-98934c0a274f9bc2.yaml [new file with mode: 0644]
spec/classes/ceilometer_db_spec.rb

index 974933b08b689d2ac924802217d23fbd637dd0c4..98202a3d654556a46f37c580471ed6f1d2e19b29 100644 (file)
@@ -15,7 +15,7 @@
 #   (Optional) Url used to connect to database.
 #   Defaults to 'mysql+pymysql://ceilometer:ceilometer@localhost/ceilometer'.
 #
-# [*database_idle_timeout*]
+# [*database_connection_recycle_time*]
 #   (Optional) Timeout when db connections should be reaped.
 #   Defaults to $::os_service_default.
 #
 #   (Optional) If set, use this value for pool_timeout with SQLAlchemy.
 #   Defaults to $::os_service_default
 #
+# DEPRECATED PARAMETERS
+#
+# [*database_idle_timeout*]
+#   Timeout when db connections should be reaped.
+#   Defaults to undef.
+#
 class ceilometer::db (
-  $database_db_max_retries = $::os_service_default,
-  $database_connection     = 'mysql+pymysql://ceilometer:ceilometer@localhost/ceilometer',
-  $database_idle_timeout   = $::os_service_default,
-  $database_min_pool_size  = $::os_service_default,
-  $database_max_pool_size  = $::os_service_default,
-  $database_max_retries    = $::os_service_default,
-  $database_retry_interval = $::os_service_default,
-  $database_max_overflow   = $::os_service_default,
-  $database_pool_timeout   = $::os_service_default,
-  $sync_db                 = true,
+  $database_db_max_retries          = $::os_service_default,
+  $database_connection              = 'mysql+pymysql://ceilometer:ceilometer@localhost/ceilometer',
+  $database_connection_recycle_time = $::os_service_default,
+  $database_min_pool_size           = $::os_service_default,
+  $database_max_pool_size           = $::os_service_default,
+  $database_max_retries             = $::os_service_default,
+  $database_retry_interval          = $::os_service_default,
+  $database_max_overflow            = $::os_service_default,
+  $database_pool_timeout            = $::os_service_default,
+  $sync_db                          = true,
+  # DEPRECATED PARAMETERS
+  $database_idle_timeout            = undef,
 ) {
 
   include ::ceilometer::deps
 
+  if $database_idle_timeout {
+    warning('The database_idle_timeout parameter is deprecated. Please use \
+database_connection_recycle_time instead.')
+  }
+  $database_connection_recycle_time_real = pick($database_idle_timeout, $database_connection_recycle_time)
+
   oslo::db { 'ceilometer_config':
-    db_max_retries => $database_db_max_retries,
-    connection     => $database_connection,
-    idle_timeout   => $database_idle_timeout,
-    min_pool_size  => $database_min_pool_size,
-    max_retries    => $database_max_retries,
-    retry_interval => $database_retry_interval,
-    max_pool_size  => $database_max_pool_size,
-    max_overflow   => $database_max_overflow,
-    pool_timeout   => $database_pool_timeout,
+    db_max_retries          => $database_db_max_retries,
+    connection              => $database_connection,
+    connection_recycle_time => $database_connection_recycle_time_real,
+    min_pool_size           => $database_min_pool_size,
+    max_retries             => $database_max_retries,
+    retry_interval          => $database_retry_interval,
+    max_pool_size           => $database_max_pool_size,
+    max_overflow            => $database_max_overflow,
+    pool_timeout            => $database_pool_timeout,
   }
 
   if $sync_db {
diff --git a/releasenotes/notes/deprecate_idle_timeout_parameter-98934c0a274f9bc2.yaml b/releasenotes/notes/deprecate_idle_timeout_parameter-98934c0a274f9bc2.yaml
new file mode 100644 (file)
index 0000000..09e76c4
--- /dev/null
@@ -0,0 +1,4 @@
+---
+deprecations:
+  - database_idle_timeout is deprecated and will be removed in a future
+    release. Please use database_connection_recycle_time instead.
index b5b077d63a758ca42a4d926533cdb75229651d48..dd593119cbd99285bd6dc725e57407792dc18d7a 100644 (file)
@@ -6,15 +6,15 @@ describe 'ceilometer::db' do
       it { should contain_class('ceilometer::deps') }
 
       it { should contain_oslo__db('ceilometer_config').with(
-        :db_max_retries => '<SERVICE DEFAULT>',
-        :connection     => 'mysql+pymysql://ceilometer:ceilometer@localhost/ceilometer',
-        :idle_timeout   => '<SERVICE DEFAULT>',
-        :min_pool_size  => '<SERVICE DEFAULT>',
-        :max_pool_size  => '<SERVICE DEFAULT>',
-        :max_retries    => '<SERVICE DEFAULT>',
-        :retry_interval => '<SERVICE DEFAULT>',
-        :max_overflow   => '<SERVICE DEFAULT>',
-        :pool_timeout   => '<SERVICE DEFAULT>',
+        :db_max_retries          => '<SERVICE DEFAULT>',
+        :connection              => 'mysql+pymysql://ceilometer:ceilometer@localhost/ceilometer',
+        :connection_recycle_time => '<SERVICE DEFAULT>',
+        :min_pool_size           => '<SERVICE DEFAULT>',
+        :max_pool_size           => '<SERVICE DEFAULT>',
+        :max_retries             => '<SERVICE DEFAULT>',
+        :retry_interval          => '<SERVICE DEFAULT>',
+        :max_overflow            => '<SERVICE DEFAULT>',
+        :pool_timeout            => '<SERVICE DEFAULT>',
       )}
 
       it { should contain_class('ceilometer::db::sync') }
@@ -23,30 +23,30 @@ describe 'ceilometer::db' do
     context 'with specific parameters' do
       let :params do
         {
-          :database_db_max_retries => '-1',
-          :database_connection     => 'mongodb://localhost:1234/ceilometer',
-          :database_idle_timeout   => '3601',
-          :database_min_pool_size  => '2',
-          :database_max_pool_size  => '11',
-          :database_max_retries    => '11',
-          :database_retry_interval => '11',
-          :database_max_overflow   => '21',
-          :database_pool_timeout   => '21',
-          :sync_db                 => false }
+          :database_db_max_retries          => '-1',
+          :database_connection              => 'mongodb://localhost:1234/ceilometer',
+          :database_connection_recycle_time => '3601',
+          :database_min_pool_size           => '2',
+          :database_max_pool_size           => '11',
+          :database_max_retries             => '11',
+          :database_retry_interval          => '11',
+          :database_max_overflow            => '21',
+          :database_pool_timeout            => '21',
+          :sync_db                          => false }
       end
 
       it { should contain_class('ceilometer::deps') }
 
       it { should contain_oslo__db('ceilometer_config').with(
-        :db_max_retries => '-1',
-        :connection     => 'mongodb://localhost:1234/ceilometer',
-        :idle_timeout   => '3601',
-        :min_pool_size  => '2',
-        :max_pool_size  => '11',
-        :max_retries    => '11',
-        :retry_interval => '11',
-        :max_overflow   => '21',
-        :pool_timeout   => '21',
+        :db_max_retries          => '-1',
+        :connection              => 'mongodb://localhost:1234/ceilometer',
+        :connection_recycle_time => '3601',
+        :min_pool_size           => '2',
+        :max_pool_size           => '11',
+        :max_retries             => '11',
+        :retry_interval          => '11',
+        :max_overflow            => '21',
+        :pool_timeout            => '21',
       )}
 
       it { should_not contain_class('ceilometer::db::sync') }