cache: Support options for SASL mechanism in memcached

Note:
The trove::cache class was added during this cycle so we skip adding
a release note file.

Depends-on: https://review.opendev.org/910122
Change-Id: I697f956af1ee8f2fa058e2bb4a577f2c9ab11dee
This commit is contained in:
Takashi Kajinami 2024-03-05 13:27:44 +09:00
parent 06b384e84d
commit b816669b3e
2 changed files with 32 additions and 5 deletions

View File

@ -108,9 +108,17 @@
# (oslo_cache.memcache_pool backend only)
# Defaults to $facts['os_service_default']
#
# [*manage_backend_package*]
# (Optional) Whether to install the backend package for the cache.
# Defaults to true
# [*memcache_sasl_enabled*]
# (Optional) Whether SASL is enabled in memcached
# Defaults to $facts['os_service_default']
#
# [*memcache_username*]
# (Optional) The user name for the memcached with SASL enabled
# Defaults to $facts['os_service_default']
#
# [*memcache_password*]
# (Optional) The password for the memcached with SASL enabled
# Defaults to $facts['os_service_default']
#
# [*tls_enabled*]
# (Optional) Global toggle for TLS usage when communicating with
@ -176,6 +184,10 @@
# back in the pool in the HashClient's internal mechanisms.
# Default to $facts['os_service_default']
#
# [*manage_backend_package*]
# (Optional) Whether to install the backend package for the cache.
# Defaults to true
#
class trove::cache (
$config_prefix = $facts['os_service_default'],
$expiration_time = $facts['os_service_default'],
@ -195,7 +207,9 @@ class trove::cache (
$memcache_pool_unused_timeout = $facts['os_service_default'],
$memcache_pool_connection_get_timeout = $facts['os_service_default'],
$memcache_pool_flush_on_reconnect = $facts['os_service_default'],
$manage_backend_package = true,
$memcache_sasl_enabled = $facts['os_service_default'],
$memcache_username = $facts['os_service_default'],
$memcache_password = $facts['os_service_default'],
$tls_enabled = $facts['os_service_default'],
$tls_cafile = $facts['os_service_default'],
$tls_certfile = $facts['os_service_default'],
@ -207,6 +221,7 @@ class trove::cache (
$hashclient_retry_attempts = $facts['os_service_default'],
$hashclient_retry_delay = $facts['os_service_default'],
$dead_timeout = $facts['os_service_default'],
Boolean $manage_backend_package = true,
) {
include trove::deps
@ -230,7 +245,9 @@ class trove::cache (
memcache_pool_unused_timeout => $memcache_pool_unused_timeout,
memcache_pool_connection_get_timeout => $memcache_pool_connection_get_timeout,
memcache_pool_flush_on_reconnect => $memcache_pool_flush_on_reconnect,
manage_backend_package => $manage_backend_package,
memcache_sasl_enabled => $memcache_sasl_enabled,
memcache_username => $memcache_username,
memcache_password => $memcache_password,
tls_enabled => $tls_enabled,
tls_cafile => $tls_cafile,
tls_certfile => $tls_certfile,
@ -242,5 +259,6 @@ class trove::cache (
hashclient_retry_attempts => $hashclient_retry_attempts,
hashclient_retry_delay => $hashclient_retry_delay,
dead_timeout => $dead_timeout,
manage_backend_package => $manage_backend_package,
}
}

View File

@ -29,6 +29,9 @@ describe 'trove::cache' do
:memcache_pool_unused_timeout => '<SERVICE DEFAULT>',
:memcache_pool_connection_get_timeout => '<SERVICE DEFAULT>',
:memcache_pool_flush_on_reconnect => '<SERVICE DEFAULT>',
:memcache_sasl_enabled => '<SERVICE DEFAULT>',
:memcache_username => '<SERVICE DEFAULT>',
:memcache_password => '<SERVICE DEFAULT>',
:tls_enabled => '<SERVICE DEFAULT>',
:tls_cafile => '<SERVICE DEFAULT>',
:tls_certfile => '<SERVICE DEFAULT>',
@ -65,6 +68,9 @@ describe 'trove::cache' do
:memcache_pool_unused_timeout => '120',
:memcache_pool_connection_get_timeout => '360',
:memcache_pool_flush_on_reconnect => false,
:memcache_sasl_enabled => false,
:memcache_username => 'sasluser',
:memcache_password => 'saslpass',
:tls_enabled => false,
:enable_retry_client => false,
:retry_attempts => 2,
@ -96,6 +102,9 @@ describe 'trove::cache' do
:memcache_pool_unused_timeout => '120',
:memcache_pool_connection_get_timeout => '360',
:memcache_pool_flush_on_reconnect => false,
:memcache_sasl_enabled => false,
:memcache_username => 'sasluser',
:memcache_password => 'saslpass',
:tls_enabled => false,
:tls_cafile => '<SERVICE DEFAULT>',
:tls_certfile => '<SERVICE DEFAULT>',