]> review.fuel-infra Code Review - puppet-modules/puppet-ceilometer.git/commitdiff
Add cache client retry options for the pymemcache backend
authorGrzegorz Grasza <xek@redhat.com>
Mon, 31 Jan 2022 09:55:57 +0000 (10:55 +0100)
committerGrzegorz Grasza <xek@redhat.com>
Mon, 31 Jan 2022 10:32:54 +0000 (11:32 +0100)
This patch specifies a set of options required to setup the retrying
wrapper feature of pymemcache (dogpile.cache) cache backend.

Original oslo.cache change:
https://review.opendev.org/c/openstack/oslo.cache/+/803747

Depends-On: https://review.opendev.org/826869
Change-Id: I6ab9dcd40678d98aceed8fe28658b984b41a63cb

manifests/init.pp
releasenotes/notes/add_cache_retry_options-7c3b07c02f883861.yaml [new file with mode: 0644]
spec/classes/ceilometer_init_spec.rb

index fafdf3a443ef2251150bf4f004c3eb8eab24e721..4cd2dd71184d2dc348702b6eb5653565b0e8016e 100644 (file)
 #   be available.
 #   Default to $::os_service_default
 #
+# [*cache_enable_retry_client*]
+#   (Optional) Enable retry client mechanisms to handle failure.
+#   Those mechanisms can be used to wrap all kind of pymemcache
+#   clients. The wrapper allows you to define how many attempts
+#   to make and how long to wait between attemots.
+#   Default to $::os_service_default
+#
+# [*cache_retry_attempts*]
+#   (Optional) Number of times to attempt an action before failing.
+#   Default to $::os_service_default
+#
+# [*cache_retry_delay*]
+#   (Optional) Number of seconds to sleep between each attempt.
+#   Default to $::os_service_default
+#
 # [*manage_backend_package*]
 #   (Optional) If we should install the cache backend package.
 #   Defaults to true
@@ -326,6 +341,9 @@ class ceilometer(
   $cache_tls_certfile                 = $::os_service_default,
   $cache_tls_keyfile                  = $::os_service_default,
   $cache_tls_allowed_ciphers          = $::os_service_default,
+  $cache_enable_retry_client          = $::os_service_default,
+  $cache_retry_attempts               = $::os_service_default,
+  $cache_retry_delay                  = $::os_service_default,
   $manage_backend_package             = true,
   $amqp_server_request_prefix         = $::os_service_default,
   $amqp_broadcast_prefix              = $::os_service_default,
@@ -456,6 +474,9 @@ will be removed in a future release.')
     tls_certfile              => $cache_tls_certfile,
     tls_keyfile               => $cache_tls_keyfile,
     tls_allowed_ciphers       => $cache_tls_allowed_ciphers,
+    enable_retry_client       => $cache_enable_retry_client,
+    retry_attempts            => $cache_retry_attempts,
+    retry_delay               => $cache_retry_delay,
     manage_backend_package    => $manage_backend_package,
   }
 }
diff --git a/releasenotes/notes/add_cache_retry_options-7c3b07c02f883861.yaml b/releasenotes/notes/add_cache_retry_options-7c3b07c02f883861.yaml
new file mode 100644 (file)
index 0000000..38d728c
--- /dev/null
@@ -0,0 +1,4 @@
+---
+features:
+  - |
+    Add cache client retry options for the pymemcache (dogpile.cache) backend.
index 6b7e619d54d8ab3ce554b6c031d8c30f0b15d320..2865346d130bf0a9523d990c872d18b6a8393302 100644 (file)
@@ -136,6 +136,9 @@ describe 'ceilometer' do
         :tls_certfile              => '<SERVICE DEFAULT>',
         :tls_keyfile               => '<SERVICE DEFAULT>',
         :tls_allowed_ciphers       => '<SERVICE DEFAULT>',
+        :enable_retry_client       => '<SERVICE DEFAULT>',
+        :retry_attempts            => '<SERVICE DEFAULT>',
+        :retry_delay               => '<SERVICE DEFAULT>',
         :manage_backend_package    => true,
       )
     end
@@ -175,6 +178,9 @@ describe 'ceilometer' do
           :cache_socket_keepalive_interval => 1,
           :cache_socket_keepalive_count    => 1,
           :cache_tls_enabled               => true,
+          :cache_enable_retry_client       => false,
+          :cache_retry_attempts            => 2,
+          :cache_retry_delay               => 0,
           :manage_backend_package          => false,
         )
       }
@@ -188,6 +194,9 @@ describe 'ceilometer' do
           :socket_keepalive_interval => 1,
           :socket_keepalive_count    => 1,
           :tls_enabled               => true,
+          :enable_retry_client       => false,
+          :retry_attempts            => 2,
+          :retry_delay               => 0,
           :manage_backend_package    => false,
         )
       end