cache: Support options for SASL mechanism in memcached

Depends-on: https://review.opendev.org/910122
Change-Id: Ia253cf004544150b863e87811e918cb0d404696d
This commit is contained in:
Takashi Kajinami 2024-02-29 23:57:48 +09:00
parent 332fb89413
commit 5c3fc8bc8d
3 changed files with 37 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 nova::cache (
$config_prefix = $facts['os_service_default'],
$expiration_time = $facts['os_service_default'],
@ -195,7 +207,9 @@ class nova::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 nova::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 nova::deps
@ -230,7 +245,9 @@ class nova::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 nova::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

@ -0,0 +1,5 @@
---
features:
- |
The ``nova::cache`` class now supports options to allow memcached with
SASL enabled.

View File

@ -29,6 +29,9 @@ describe 'nova::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>',
@ -64,6 +67,9 @@ describe 'nova::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,
@ -95,6 +101,9 @@ describe 'nova::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>',