From b13732ce19965d663b660abca76ecf617881d03f Mon Sep 17 00:00:00 2001 From: Grzegorz Grasza Date: Mon, 31 Jan 2022 11:29:13 +0100 Subject: [PATCH] Add HashClient retry options for the dogpile.cache backend This patch specifies a set of options required to setup the HashClient retry feature of dogpile.cache cache backend. Original oslo.cache change: https://review.opendev.org/c/openstack/oslo.cache/+/824944 Depends-On: https://review.opendev.org/826870 Change-Id: Idb2fe7e5573103d9e7ef36652fc2b4252418cdc3 --- manifests/init.pp | 22 +++++++++++++++++++ ...client_retry_options-474e86180db9699f.yaml | 5 +++++ spec/classes/ceilometer_init_spec.rb | 9 ++++++++ 3 files changed, 36 insertions(+) create mode 100644 releasenotes/notes/add_cache_hashclient_retry_options-474e86180db9699f.yaml diff --git a/manifests/init.pp b/manifests/init.pp index 4cd2dd71..b7203f2b 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -208,6 +208,22 @@ # (Optional) Number of seconds to sleep between each attempt. # Default to $::os_service_default # +# [*cache_hashclient_retry_attempts*] +# (Optional) Amount of times a client should be tried +# before it is marked dead and removed from the pool in +# the HashClient's internal mechanisms. +# Default to $::os_service_default +# +# [*cache_hashclient_retry_delay*] +# (Optional) Time in seconds that should pass between +# retry attempts in the HashClient's internal mechanisms. +# Default to $::os_service_default +# +# [*cache_dead_timeout*] +# (Optional) Time in seconds before attempting to add a node +# back in the pool in the HashClient's internal mechanisms. +# Default to $::os_service_default +# # [*manage_backend_package*] # (Optional) If we should install the cache backend package. # Defaults to true @@ -344,6 +360,9 @@ class ceilometer( $cache_enable_retry_client = $::os_service_default, $cache_retry_attempts = $::os_service_default, $cache_retry_delay = $::os_service_default, + $cache_hashclient_retry_attempts = $::os_service_default, + $cache_hashclient_retry_delay = $::os_service_default, + $cache_dead_timeout = $::os_service_default, $manage_backend_package = true, $amqp_server_request_prefix = $::os_service_default, $amqp_broadcast_prefix = $::os_service_default, @@ -477,6 +496,9 @@ will be removed in a future release.') enable_retry_client => $cache_enable_retry_client, retry_attempts => $cache_retry_attempts, retry_delay => $cache_retry_delay, + hashclient_retry_attempts => $cache_hashclient_retry_attempts, + hashclient_retry_delay => $cache_hashclient_retry_delay, + dead_timeout => $cache_dead_timeout, manage_backend_package => $manage_backend_package, } } diff --git a/releasenotes/notes/add_cache_hashclient_retry_options-474e86180db9699f.yaml b/releasenotes/notes/add_cache_hashclient_retry_options-474e86180db9699f.yaml new file mode 100644 index 00000000..116e436e --- /dev/null +++ b/releasenotes/notes/add_cache_hashclient_retry_options-474e86180db9699f.yaml @@ -0,0 +1,5 @@ +--- +features: + - | + Add options to configure pymemcache's HashClient retrying mechanisms + (dogpile.cache) backend. diff --git a/spec/classes/ceilometer_init_spec.rb b/spec/classes/ceilometer_init_spec.rb index 2865346d..ec560d38 100644 --- a/spec/classes/ceilometer_init_spec.rb +++ b/spec/classes/ceilometer_init_spec.rb @@ -139,6 +139,9 @@ describe 'ceilometer' do :enable_retry_client => '', :retry_attempts => '', :retry_delay => '', + :hashclient_retry_attempts => '', + :hashclient_retry_delay => '', + :dead_timeout => '', :manage_backend_package => true, ) end @@ -181,6 +184,9 @@ describe 'ceilometer' do :cache_enable_retry_client => false, :cache_retry_attempts => 2, :cache_retry_delay => 0, + :cache_hashclient_retry_attempts => 2, + :cache_hashclient_retry_delay => 1, + :cache_dead_timeout => 60, :manage_backend_package => false, ) } @@ -197,6 +203,9 @@ describe 'ceilometer' do :enable_retry_client => false, :retry_attempts => 2, :retry_delay => 0, + :hashclient_retry_attempts => 2, + :hashclient_retry_delay => 1, + :dead_timeout => 60, :manage_backend_package => false, ) end