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
This commit is contained in:
Grzegorz Grasza 2022-01-31 11:29:13 +01:00
parent f1a4758061
commit b13732ce19
3 changed files with 36 additions and 0 deletions

View File

@ -208,6 +208,22 @@
# (Optional) Number of seconds to sleep between each attempt. # (Optional) Number of seconds to sleep between each attempt.
# Default to $::os_service_default # 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*] # [*manage_backend_package*]
# (Optional) If we should install the cache backend package. # (Optional) If we should install the cache backend package.
# Defaults to true # Defaults to true
@ -344,6 +360,9 @@ class ceilometer(
$cache_enable_retry_client = $::os_service_default, $cache_enable_retry_client = $::os_service_default,
$cache_retry_attempts = $::os_service_default, $cache_retry_attempts = $::os_service_default,
$cache_retry_delay = $::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, $manage_backend_package = true,
$amqp_server_request_prefix = $::os_service_default, $amqp_server_request_prefix = $::os_service_default,
$amqp_broadcast_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, enable_retry_client => $cache_enable_retry_client,
retry_attempts => $cache_retry_attempts, retry_attempts => $cache_retry_attempts,
retry_delay => $cache_retry_delay, 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, manage_backend_package => $manage_backend_package,
} }
} }

View File

@ -0,0 +1,5 @@
---
features:
- |
Add options to configure pymemcache's HashClient retrying mechanisms
(dogpile.cache) backend.

View File

@ -139,6 +139,9 @@ describe 'ceilometer' do
:enable_retry_client => '<SERVICE DEFAULT>', :enable_retry_client => '<SERVICE DEFAULT>',
:retry_attempts => '<SERVICE DEFAULT>', :retry_attempts => '<SERVICE DEFAULT>',
:retry_delay => '<SERVICE DEFAULT>', :retry_delay => '<SERVICE DEFAULT>',
:hashclient_retry_attempts => '<SERVICE DEFAULT>',
:hashclient_retry_delay => '<SERVICE DEFAULT>',
:dead_timeout => '<SERVICE DEFAULT>',
:manage_backend_package => true, :manage_backend_package => true,
) )
end end
@ -181,6 +184,9 @@ describe 'ceilometer' do
:cache_enable_retry_client => false, :cache_enable_retry_client => false,
:cache_retry_attempts => 2, :cache_retry_attempts => 2,
:cache_retry_delay => 0, :cache_retry_delay => 0,
:cache_hashclient_retry_attempts => 2,
:cache_hashclient_retry_delay => 1,
:cache_dead_timeout => 60,
:manage_backend_package => false, :manage_backend_package => false,
) )
} }
@ -197,6 +203,9 @@ describe 'ceilometer' do
:enable_retry_client => false, :enable_retry_client => false,
:retry_attempts => 2, :retry_attempts => 2,
:retry_delay => 0, :retry_delay => 0,
:hashclient_retry_attempts => 2,
:hashclient_retry_delay => 1,
:dead_timeout => 60,
:manage_backend_package => false, :manage_backend_package => false,
) )
end end