From 90cadc8ac2c20f176dbb12c2c34c6940f8ae2edb Mon Sep 17 00:00:00 2001 From: Takashi Kajinami Date: Tue, 5 Mar 2024 13:34:01 +0900 Subject: [PATCH] cache: Support options for SASL mechanism in memcached Depends-on: https://review.opendev.org/910122 Change-Id: I41e1d14bf21139c590cc241c63f45dec7d022df6 --- manifests/cache.pp | 28 +++++++++++++++---- .../cache-memcache-sasl-43e069a8e1fae6ba.yaml | 5 ++++ spec/classes/zaqar_cache_spec.rb | 9 ++++++ 3 files changed, 37 insertions(+), 5 deletions(-) create mode 100644 releasenotes/notes/cache-memcache-sasl-43e069a8e1fae6ba.yaml diff --git a/manifests/cache.pp b/manifests/cache.pp index 13c9ebb..fafff49 100644 --- a/manifests/cache.pp +++ b/manifests/cache.pp @@ -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 comunicating 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 zaqar::cache ( $config_prefix = $facts['os_service_default'], $expiration_time = $facts['os_service_default'], @@ -195,7 +207,9 @@ class zaqar::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 zaqar::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 zaqar::deps @@ -230,7 +245,9 @@ class zaqar::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 zaqar::cache ( hashclient_retry_attempts => $hashclient_retry_attempts, hashclient_retry_delay => $hashclient_retry_delay, dead_timeout => $dead_timeout, + manage_backend_package => $manage_backend_package, } } diff --git a/releasenotes/notes/cache-memcache-sasl-43e069a8e1fae6ba.yaml b/releasenotes/notes/cache-memcache-sasl-43e069a8e1fae6ba.yaml new file mode 100644 index 0000000..f1be512 --- /dev/null +++ b/releasenotes/notes/cache-memcache-sasl-43e069a8e1fae6ba.yaml @@ -0,0 +1,5 @@ +--- +features: + - | + The ``zaqar::cache`` class now supports options to allow memcached + with SASL enabled. diff --git a/spec/classes/zaqar_cache_spec.rb b/spec/classes/zaqar_cache_spec.rb index 1bd83d1..db28db3 100644 --- a/spec/classes/zaqar_cache_spec.rb +++ b/spec/classes/zaqar_cache_spec.rb @@ -29,6 +29,9 @@ describe 'zaqar::cache' do :memcache_pool_unused_timeout => '', :memcache_pool_connection_get_timeout => '', :memcache_pool_flush_on_reconnect => '', + :memcache_sasl_enabled => '', + :memcache_username => '', + :memcache_password => '', :tls_enabled => '', :tls_cafile => '', :tls_certfile => '', @@ -65,6 +68,9 @@ describe 'zaqar::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 'zaqar::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 => '', :tls_certfile => '',