From 219e204237b8a904b0027044375e75a3c1df0330 Mon Sep 17 00:00:00 2001 From: Takashi Kajinami Date: Tue, 5 Mar 2024 13:31:15 +0900 Subject: [PATCH] cache: Support options for SASL mechanism in memcached Depends-on: https://review.opendev.org/910122 Change-Id: Id5f7ee9ec1cc00c4fe94d96030cac7330ae89384 --- manifests/cache.pp | 28 +++++++++++++++---- .../cache-memcache-sasl-90ca4b3fd56d5ce6.yaml | 5 ++++ spec/classes/watcher_cache_spec.rb | 10 ++++++- 3 files changed, 37 insertions(+), 6 deletions(-) create mode 100644 releasenotes/notes/cache-memcache-sasl-90ca4b3fd56d5ce6.yaml diff --git a/manifests/cache.pp b/manifests/cache.pp index 2e399df..23e9eeb 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 watcher::cache ( $config_prefix = $facts['os_service_default'], $expiration_time = $facts['os_service_default'], @@ -195,7 +207,9 @@ class watcher::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 watcher::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 watcher::deps @@ -230,7 +245,9 @@ class watcher::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 watcher::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-90ca4b3fd56d5ce6.yaml b/releasenotes/notes/cache-memcache-sasl-90ca4b3fd56d5ce6.yaml new file mode 100644 index 0000000..20e407f --- /dev/null +++ b/releasenotes/notes/cache-memcache-sasl-90ca4b3fd56d5ce6.yaml @@ -0,0 +1,5 @@ +--- +features: + - | + The ``watcher::cache`` class now supports options to allow memcached + with SASL enabled. diff --git a/spec/classes/watcher_cache_spec.rb b/spec/classes/watcher_cache_spec.rb index db73dea..ac7650e 100644 --- a/spec/classes/watcher_cache_spec.rb +++ b/spec/classes/watcher_cache_spec.rb @@ -29,6 +29,9 @@ describe 'watcher::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 => '', @@ -40,7 +43,6 @@ describe 'watcher::cache' do :hashclient_retry_delay => '', :dead_timeout => '', :manage_backend_package => true, - :manage_backend_package => true, ) end end @@ -65,6 +67,9 @@ describe 'watcher::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 +101,9 @@ describe 'watcher::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 => '',