diff --git a/manifests/containerreconciler.pp b/manifests/containerreconciler.pp index a06257e6..7738f088 100644 --- a/manifests/containerreconciler.pp +++ b/manifests/containerreconciler.pp @@ -22,6 +22,20 @@ # (optional) Minimum time for a pass to take, in seconds. # Defaults to $facts['os_service_default'] # +# [*concurrency*] +# (optional) Number of reconciler workers to spawn. +# Defaults to $facts['os_service_default']. +# +# [*process*] +# (optional) Which part of the work defined by $processes +# will this instance take. +# Defaults to $facts['os_service_default']. +# +# [*processes*] +# (optional) How many parts to divide the work into, one part per +# process. 0 means a single process will do all work. +# Defaults to $facts['os_service_default']. +# # [*reclaim_age*] # (optional) The reconciler will re-attempt reconciliation if the source # object is not available up to reclaim_age seconds before it gives up and @@ -75,19 +89,22 @@ # Defaults to $facts['os_service_default'] # class swift::containerreconciler( - Boolean $manage_service = true, - Boolean $enabled = true, - $package_ensure = 'present', - Swift::Pipeline $pipeline = ['catch_errors', 'proxy-logging', 'cache', 'proxy-server'], - $interval = $facts['os_service_default'], - $reclaim_age = $facts['os_service_default'], - $request_tries = $facts['os_service_default'], - $service_provider = $::swift::params::service_provider, - $memcache_servers = ['127.0.0.1:11211'], - $cache_tls_enabled = $facts['os_service_default'], - $cache_tls_cafile = $facts['os_service_default'], - $cache_tls_certfile = $facts['os_service_default'], - $cache_tls_keyfile = $facts['os_service_default'], + Boolean $manage_service = true, + Boolean $enabled = true, + $package_ensure = 'present', + Swift::Pipeline $pipeline = ['catch_errors', 'proxy-logging', 'cache', 'proxy-server'], + $interval = $facts['os_service_default'], + $concurrency = $facts['os_service_default'], + $process = $facts['os_service_default'], + $processes = $facts['os_service_default'], + $reclaim_age = $facts['os_service_default'], + $request_tries = $facts['os_service_default'], + $service_provider = $::swift::params::service_provider, + $memcache_servers = ['127.0.0.1:11211'], + $cache_tls_enabled = $facts['os_service_default'], + $cache_tls_cafile = $facts['os_service_default'], + $cache_tls_certfile = $facts['os_service_default'], + $cache_tls_keyfile = $facts['os_service_default'], ) inherits swift::params { include swift::deps @@ -121,6 +138,9 @@ class swift::containerreconciler( swift_container_reconciler_config { 'pipeline:main/pipeline': value => join($pipeline, ' '); 'container-reconciler/interval': value => $interval; + 'container-reconciler/concurrency': value => $concurrency; + 'container-reconciler/process': value => $process; + 'container-reconciler/processes': value => $processes; 'container-reconciler/reclaim_age': value => $reclaim_age; 'container-reconciler/request_tries': value => $request_tries; } diff --git a/releasenotes/notes/container-reconciler-tunables-1f11dc77181dd68c.yaml b/releasenotes/notes/container-reconciler-tunables-1f11dc77181dd68c.yaml new file mode 100644 index 00000000..211e7b91 --- /dev/null +++ b/releasenotes/notes/container-reconciler-tunables-1f11dc77181dd68c.yaml @@ -0,0 +1,9 @@ +--- +features: + - | + The following parameters have been added to + the ``swift::container::reconciler`` class. + + - ``concurrency`` + - ``process`` + - ``processes`` diff --git a/spec/classes/swift_containerreconciler_spec.rb b/spec/classes/swift_containerreconciler_spec.rb index e8326c0a..e37e3fcf 100644 --- a/spec/classes/swift_containerreconciler_spec.rb +++ b/spec/classes/swift_containerreconciler_spec.rb @@ -17,6 +17,12 @@ describe 'swift::containerreconciler' do 'pipeline:main/pipeline').with_value('catch_errors proxy-logging cache proxy-server') is_expected.to contain_swift_container_reconciler_config( 'container-reconciler/interval').with_value('') + is_expected.to contain_swift_container_reconciler_config( + 'container-reconciler/concurrency').with_value('') + is_expected.to contain_swift_container_reconciler_config( + 'container-reconciler/process').with_value('') + is_expected.to contain_swift_container_reconciler_config( + 'container-reconciler/processes').with_value('') is_expected.to contain_swift_container_reconciler_config( 'container-reconciler/reclaim_age').with_value('') is_expected.to contain_swift_container_reconciler_config(