From 1dd45677b652055397d09388d7f7e48dcde8e18c Mon Sep 17 00:00:00 2001 From: Takashi Kajinami Date: Thu, 7 Mar 2024 22:58:03 +0900 Subject: [PATCH] cache: Support new redis options The oslo.cache 3.7.0 release introduced some options for redis backend and redis sentinel backend. This introduces for these parameters. Depneds-on: https://review.opendev.org/910629 Change-Id: Ia947c684f5f4cc10efad487d7c87e06c73cc1ba2 --- manifests/cache.pp | 36 +++++++++++++++++++ .../cache-redis-opts-a66d49553e2fb0f2.yaml | 12 +++++++ spec/classes/heat_cache_spec.rb | 18 ++++++++++ 3 files changed, 66 insertions(+) create mode 100644 releasenotes/notes/cache-redis-opts-a66d49553e2fb0f2.yaml diff --git a/manifests/cache.pp b/manifests/cache.pp index 98db9d70..a1c4573a 100644 --- a/manifests/cache.pp +++ b/manifests/cache.pp @@ -120,6 +120,30 @@ # (Optional) The password for the memcached with SASL enabled # Defaults to $facts['os_service_default'] # +# [*redis_server*] +# (Optional) Redis server in the format of "host:port". +# Defaults to $facts['os_service_default'] +# +# [*redis_username*] +# (Optional) The user name for redis +# Defaults to $facts['os_service_default'] +# +# [*redis_password*] +# (Optional) The password for redis +# Defaults to $facts['os_service_default'] +# +# [*redis_sentinels*] +# (Optional) Redis sentinel servers in the format of host:port +# Defaults to $facts['os_service_default'] +# +# [*redis_socket_timeout*] +# (Optional) Timeout in seconds for every call to a server +# Defaults to $facts['os_service_default'] +# +# [*redis_sentinel_service_name*] +# (Optional) Service name of the redis sentinel cluster. +# Defaults to $facts['os_service_default'] +# # [*constraint_validation_caching*] # (Optional) Enable caching in constraint validation. Global caching should # be also enabled to enable this. @@ -237,6 +261,12 @@ class heat::cache ( $memcache_sasl_enabled = $facts['os_service_default'], $memcache_username = $facts['os_service_default'], $memcache_password = $facts['os_service_default'], + $redis_server = $facts['os_service_default'], + $redis_username = $facts['os_service_default'], + $redis_password = $facts['os_service_default'], + $redis_sentinels = $facts['os_service_default'], + $redis_socket_timeout = $facts['os_service_default'], + $redis_sentinel_service_name = $facts['os_service_default'], $constraint_validation_caching = $facts['os_service_default'], $constraint_validation_expiration_time = $facts['os_service_default'], $service_extension_caching = $facts['os_service_default'], @@ -281,6 +311,12 @@ class heat::cache ( memcache_sasl_enabled => $memcache_sasl_enabled, memcache_username => $memcache_username, memcache_password => $memcache_password, + redis_server => $redis_server, + redis_username => $redis_username, + redis_password => $redis_password, + redis_sentinels => $redis_sentinels, + redis_socket_timeout => $redis_socket_timeout, + redis_sentinel_service_name => $redis_sentinel_service_name, tls_enabled => $tls_enabled, tls_cafile => $tls_cafile, tls_certfile => $tls_certfile, diff --git a/releasenotes/notes/cache-redis-opts-a66d49553e2fb0f2.yaml b/releasenotes/notes/cache-redis-opts-a66d49553e2fb0f2.yaml new file mode 100644 index 00000000..1989e588 --- /dev/null +++ b/releasenotes/notes/cache-redis-opts-a66d49553e2fb0f2.yaml @@ -0,0 +1,12 @@ +--- +features: + - | + The ``heat::cache`` class now supports the following new options for + Redis backend and Redis Sentinel backend. + + - ``redis_server`` + - ``redis_username`` + - ``redis_password`` + - ``redis_sentinels`` + - ``redis_socket_timeout`` + - ``redis_sentinel_service_name`` diff --git a/spec/classes/heat_cache_spec.rb b/spec/classes/heat_cache_spec.rb index a3732cad..418ed18c 100644 --- a/spec/classes/heat_cache_spec.rb +++ b/spec/classes/heat_cache_spec.rb @@ -32,6 +32,12 @@ describe 'heat::cache' do :memcache_sasl_enabled => '', :memcache_username => '', :memcache_password => '', + :redis_server => '', + :redis_username => '', + :redis_password => '', + :redis_sentinels => '', + :redis_socket_timeout => '', + :redis_sentinel_service_name => '', :tls_enabled => '', :tls_cafile => '', :tls_certfile => '', @@ -77,6 +83,12 @@ describe 'heat::cache' do :memcache_sasl_enabled => false, :memcache_username => 'sasluser', :memcache_password => 'saslpass', + :redis_server => 'localhost:6379', + :redis_username => 'redisuser', + :redis_password => 'redispass', + :redis_sentinels => ['host1:26379', 'host2:26379'], + :redis_socket_timeout => 1.0, + :redis_sentinel_service_name => 'mymaster', :tls_enabled => false, :enable_retry_client => false, :retry_attempts => 2, @@ -117,6 +129,12 @@ describe 'heat::cache' do :memcache_sasl_enabled => false, :memcache_username => 'sasluser', :memcache_password => 'saslpass', + :redis_server => 'localhost:6379', + :redis_username => 'redisuser', + :redis_password => 'redispass', + :redis_sentinels => ['host1:26379', 'host2:26379'], + :redis_socket_timeout => 1.0, + :redis_sentinel_service_name => 'mymaster', :tls_enabled => false, :tls_cafile => '', :tls_certfile => '',