container-reconciler: Support more tunables

Change-Id: Ie2b54782e3f80d6c64bfb0ac9d2cb9afc65abbc2
This commit is contained in:
Takashi Kajinami 2023-12-04 21:47:01 +09:00
parent 5611ed75f5
commit 53198ba274
3 changed files with 48 additions and 13 deletions

View File

@ -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;
}

View File

@ -0,0 +1,9 @@
---
features:
- |
The following parameters have been added to
the ``swift::container::reconciler`` class.
- ``concurrency``
- ``process``
- ``processes``

View File

@ -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('<SERVICE DEFAULT>')
is_expected.to contain_swift_container_reconciler_config(
'container-reconciler/concurrency').with_value('<SERVICE DEFAULT>')
is_expected.to contain_swift_container_reconciler_config(
'container-reconciler/process').with_value('<SERVICE DEFAULT>')
is_expected.to contain_swift_container_reconciler_config(
'container-reconciler/processes').with_value('<SERVICE DEFAULT>')
is_expected.to contain_swift_container_reconciler_config(
'container-reconciler/reclaim_age').with_value('<SERVICE DEFAULT>')
is_expected.to contain_swift_container_reconciler_config(