diff --git a/manifests/cache.pp b/manifests/cache.pp index 9882a32c4..1e761a13a 100644 --- a/manifests/cache.pp +++ b/manifests/cache.pp @@ -159,6 +159,22 @@ # (Optional) Number of seconds to sleep between each attempt. # Default to $::os_service_default # +# [*hashclient_retry_attempts*] +# (Optional) Amount of times a client should be tried +# before it is marked dead and removed from the pool in +# the HashClient's internal mechanisms. +# Default to $::os_service_default +# +# [*hashclient_retry_delay*] +# (Optional) Time in seconds that should pass between +# retry attempts in the HashClient's internal mechanisms. +# Default to $::os_service_default +# +# [*dead_timeout*] +# (Optional) Time in seconds before attempting to add a node +# back in the pool in the HashClient's internal mechanisms. +# Default to $::os_service_default +# class keystone::cache( $config_prefix = $::os_service_default, $expiration_time = $::os_service_default, @@ -187,6 +203,9 @@ class keystone::cache( $enable_retry_client = $::os_service_default, $retry_attempts = $::os_service_default, $retry_delay = $::os_service_default, + $hashclient_retry_attempts = $::os_service_default, + $hashclient_retry_delay = $::os_service_default, + $dead_timeout = $::os_service_default, ){ include keystone::deps @@ -226,6 +245,9 @@ class keystone::cache( enable_retry_client => $enable_retry_client, retry_attempts => $retry_attempts, retry_delay => $retry_delay, + hashclient_retry_attempts => $hashclient_retry_attempts, + hashclient_retry_delay => $hashclient_retry_delay, + dead_timeout => $dead_timeout, } } diff --git a/releasenotes/notes/add_cache_hashclient_retry_options-3616289d073f416d.yaml b/releasenotes/notes/add_cache_hashclient_retry_options-3616289d073f416d.yaml new file mode 100644 index 000000000..116e436ed --- /dev/null +++ b/releasenotes/notes/add_cache_hashclient_retry_options-3616289d073f416d.yaml @@ -0,0 +1,5 @@ +--- +features: + - | + Add options to configure pymemcache's HashClient retrying mechanisms + (dogpile.cache) backend. diff --git a/spec/classes/keystone_cache_spec.rb b/spec/classes/keystone_cache_spec.rb index 8474574dc..4e919b129 100644 --- a/spec/classes/keystone_cache_spec.rb +++ b/spec/classes/keystone_cache_spec.rb @@ -38,6 +38,9 @@ describe 'keystone::cache' do :enable_retry_client => '', :retry_attempts => '', :retry_delay => '', + :hashclient_retry_attempts => '', + :hashclient_retry_delay => '', + :dead_timeout => '', :manage_backend_package => true, ) end @@ -66,6 +69,9 @@ describe 'keystone::cache' do :enable_retry_client => false, :retry_attempts => 2, :retry_delay => 0, + :hashclient_retry_attempts => 2, + :hashclient_retry_delay => 1, + :dead_timeout => 60, :manage_backend_package => false, :token_caching => true, } @@ -100,6 +106,9 @@ describe 'keystone::cache' do :enable_retry_client => false, :retry_attempts => 2, :retry_delay => 0, + :hashclient_retry_attempts => 2, + :hashclient_retry_delay => 1, + :dead_timeout => 60, :manage_backend_package => false, ) end