Add cache client retry options for the pymemcache backend

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
This commit is contained in:
Grzegorz Grasza 2022-01-31 10:55:57 +01:00
parent 0b751f669c
commit f1a4758061
3 changed files with 34 additions and 0 deletions

View File

@ -193,6 +193,21 @@
# 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,
}
}

View File

@ -0,0 +1,4 @@
---
features:
- |
Add cache client retry options for the pymemcache (dogpile.cache) backend.

View 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