diff --git a/manifests/cache.pp b/manifests/cache.pp index 1bd725ca..f04d9d5d 100644 --- a/manifests/cache.pp +++ b/manifests/cache.pp @@ -167,6 +167,21 @@ # be available. # Default to $::os_service_default # +# [*enable_retry_client*] +# (Optional) Enable retry client mechanisms to handle failure. +# Those mechanisms can be used to wrap all kind of pymemcache +# clients. The wrapper allows you to define how many attempts +# to make and how long to wait between attemots. +# Default to $::os_service_default +# +# [*retry_attempts*] +# (Optional) Number of times to attempt an action before failing. +# Default to $::os_service_default +# +# [*retry_delay*] +# (Optional) Number of seconds to sleep between each attempt. +# Default to $::os_service_default +# class heat::cache ( $config_prefix = $::os_service_default, $expiration_time = $::os_service_default, @@ -197,6 +212,9 @@ class heat::cache ( $tls_certfile = $::os_service_default, $tls_keyfile = $::os_service_default, $tls_allowed_ciphers = $::os_service_default, + $enable_retry_client = $::os_service_default, + $retry_attempts = $::os_service_default, + $retry_delay = $::os_service_default, ) { include heat::deps @@ -225,6 +243,9 @@ class heat::cache ( tls_certfile => $tls_certfile, tls_keyfile => $tls_keyfile, tls_allowed_ciphers => $tls_allowed_ciphers, + enable_retry_client => $enable_retry_client, + retry_attempts => $retry_attempts, + retry_delay => $retry_delay, } heat_config { diff --git a/releasenotes/notes/add_cache_retry_options-834d1d634700dbf6.yaml b/releasenotes/notes/add_cache_retry_options-834d1d634700dbf6.yaml new file mode 100644 index 00000000..38d728c0 --- /dev/null +++ b/releasenotes/notes/add_cache_retry_options-834d1d634700dbf6.yaml @@ -0,0 +1,4 @@ +--- +features: + - | + Add cache client retry options for the pymemcache (dogpile.cache) backend. diff --git a/spec/classes/heat_cache_spec.rb b/spec/classes/heat_cache_spec.rb index 729c64b5..81be2bea 100644 --- a/spec/classes/heat_cache_spec.rb +++ b/spec/classes/heat_cache_spec.rb @@ -33,6 +33,9 @@ describe 'heat::cache' do :tls_certfile => '', :tls_keyfile => '', :tls_allowed_ciphers => '', + :enable_retry_client => '', + :retry_attempts => '', + :retry_delay => '', :manage_backend_package => true, ) is_expected.to contain_heat_config('constraint_validation_cache/caching').with_value('') @@ -64,6 +67,9 @@ describe 'heat::cache' do :memcache_pool_unused_timeout => '120', :memcache_pool_connection_get_timeout => '360', :tls_enabled => false, + :enable_retry_client => false, + :retry_attempts => 2, + :retry_delay => 0, :manage_backend_package => false, :constraint_validation_caching => true, :constraint_validation_expiration_time => '3600', @@ -98,6 +104,9 @@ describe 'heat::cache' do :tls_certfile => '', :tls_keyfile => '', :tls_allowed_ciphers => '', + :enable_retry_client => false, + :retry_attempts => 2, + :retry_delay => 0, :manage_backend_package => false, ) is_expected.to contain_heat_config('constraint_validation_cache/caching').with_value('true')