Create a separate class for [retry_scheduler] parameters
This change adds an independent class for [retry_scheduler] parameters, because these parameters are used not by the api service but the retry daemon. Currently no distro provides a package to install the service so the new class only set parameters, which is incomplete. This will be fixed once the packaging issue is resolved. Change-Id: Ib8b649c2e5ac5fee5e5a3bd52caeb21780fc1f61
This commit is contained in:
parent
8166a080b9
commit
0d4580b27d
@ -120,14 +120,6 @@
|
|||||||
# (optional) Server name for RPC service
|
# (optional) Server name for RPC service
|
||||||
# Defaults to $::os_service_default
|
# Defaults to $::os_service_default
|
||||||
#
|
#
|
||||||
# [*retry_scheduler_initial_delay_seconds*]
|
|
||||||
# (optional) Seconds (float) to wait before starting retry scheduler
|
|
||||||
# Defaults to $::os_service_default
|
|
||||||
#
|
|
||||||
# [*retry_scheduler_periodic_interval_max_seconds*]
|
|
||||||
# (optional) Seconds (float) to wait between starting retry scheduler
|
|
||||||
# Defaults to $::os_service_default
|
|
||||||
#
|
|
||||||
# [*enabled_secretstore_plugins*]
|
# [*enabled_secretstore_plugins*]
|
||||||
# (optional) Enabled secretstore plugins. Multiple plugins
|
# (optional) Enabled secretstore plugins. Multiple plugins
|
||||||
# are defined in a list eg. ['store_crypto', dogtag_crypto']
|
# are defined in a list eg. ['store_crypto', dogtag_crypto']
|
||||||
@ -259,6 +251,16 @@
|
|||||||
# (Optional) Default page size for the 'limit' paging URL parameter.
|
# (Optional) Default page size for the 'limit' paging URL parameter.
|
||||||
# Defaults to $::os_service_default
|
# Defaults to $::os_service_default
|
||||||
#
|
#
|
||||||
|
# DEPRECATED PARAMETERS
|
||||||
|
#
|
||||||
|
# [*retry_scheduler_initial_delay_seconds*]
|
||||||
|
# (optional) Seconds (float) to wait before starting retry scheduler
|
||||||
|
# Defaults to undef
|
||||||
|
#
|
||||||
|
# [*retry_scheduler_periodic_interval_max_seconds*]
|
||||||
|
# (optional) Seconds (float) to wait between starting retry scheduler
|
||||||
|
# Defaults to undef
|
||||||
|
#
|
||||||
class barbican::api (
|
class barbican::api (
|
||||||
$package_ensure = 'present',
|
$package_ensure = 'present',
|
||||||
$client_package_ensure = 'present',
|
$client_package_ensure = 'present',
|
||||||
@ -284,8 +286,6 @@ class barbican::api (
|
|||||||
$queue_topic = $::os_service_default,
|
$queue_topic = $::os_service_default,
|
||||||
$queue_version = $::os_service_default,
|
$queue_version = $::os_service_default,
|
||||||
$queue_server_name = $::os_service_default,
|
$queue_server_name = $::os_service_default,
|
||||||
$retry_scheduler_initial_delay_seconds = $::os_service_default,
|
|
||||||
$retry_scheduler_periodic_interval_max_seconds = $::os_service_default,
|
|
||||||
$enabled_secretstore_plugins = $::os_service_default,
|
$enabled_secretstore_plugins = $::os_service_default,
|
||||||
$enabled_crypto_plugins = $::os_service_default,
|
$enabled_crypto_plugins = $::os_service_default,
|
||||||
$enabled_secret_stores = 'simple_crypto',
|
$enabled_secret_stores = 'simple_crypto',
|
||||||
@ -313,6 +313,9 @@ class barbican::api (
|
|||||||
$max_request_body_size = $::os_service_default,
|
$max_request_body_size = $::os_service_default,
|
||||||
$max_limit_paging = $::os_service_default,
|
$max_limit_paging = $::os_service_default,
|
||||||
$default_limit_paging = $::os_service_default,
|
$default_limit_paging = $::os_service_default,
|
||||||
|
# DEPRECATED PARAMETERS
|
||||||
|
$retry_scheduler_initial_delay_seconds = undef,
|
||||||
|
$retry_scheduler_periodic_interval_max_seconds = undef,
|
||||||
) inherits barbican::params {
|
) inherits barbican::params {
|
||||||
|
|
||||||
include barbican::deps
|
include barbican::deps
|
||||||
@ -388,12 +391,15 @@ class barbican::api (
|
|||||||
'queue/server_name': value => $queue_server_name;
|
'queue/server_name': value => $queue_server_name;
|
||||||
}
|
}
|
||||||
|
|
||||||
# retry scheduler and max allowed secret options
|
if $retry_scheduler_initial_delay_seconds != undef or $retry_scheduler_periodic_interval_max_seconds != undef {
|
||||||
|
warning('The retry_scheduler_* parameters are deprecated. Use barbican::retry_scheduler instead')
|
||||||
|
include barbican::retry_scheduler
|
||||||
|
}
|
||||||
|
|
||||||
|
# max allowed secret options
|
||||||
barbican_config {
|
barbican_config {
|
||||||
'retry_scheduler/initial_delay_seconds': value => $retry_scheduler_initial_delay_seconds;
|
'DEFAULT/max_allowed_secret_in_bytes': value => $max_allowed_secret_in_bytes;
|
||||||
'retry_scheduler/periodic_interval_max_seconds': value => $retry_scheduler_periodic_interval_max_seconds;
|
'DEFAULT/max_allowed_request_size_in_bytes': value => $max_allowed_request_size_in_bytes;
|
||||||
'DEFAULT/max_allowed_secret_in_bytes': value => $max_allowed_secret_in_bytes;
|
|
||||||
'DEFAULT/max_allowed_request_size_in_bytes': value => $max_allowed_request_size_in_bytes;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if $multiple_secret_stores_enabled and !is_service_default($enabled_secretstore_plugins) {
|
if $multiple_secret_stores_enabled and !is_service_default($enabled_secretstore_plugins) {
|
||||||
|
30
manifests/retry_scheduler.pp
Normal file
30
manifests/retry_scheduler.pp
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
# == Class: barbican::retry_scheduler
|
||||||
|
#
|
||||||
|
# Class to configure the retry scheduler service
|
||||||
|
#
|
||||||
|
# === Parameters
|
||||||
|
#
|
||||||
|
# [*initial_delay_seconds*]
|
||||||
|
# (optional) Seconds (float) to wait before starting retry scheduler
|
||||||
|
# Defaults to $::os_service_default
|
||||||
|
#
|
||||||
|
# [*periodic_interval_max_seconds*]
|
||||||
|
# (optional) Seconds (float) to wait between starting retry scheduler
|
||||||
|
# Defaults to $::os_service_default
|
||||||
|
#
|
||||||
|
class barbican::retry_scheduler (
|
||||||
|
$initial_delay_seconds = $::os_service_default,
|
||||||
|
$periodic_interval_max_seconds = $::os_service_default,
|
||||||
|
){
|
||||||
|
|
||||||
|
include barbican::params
|
||||||
|
|
||||||
|
barbican_config {
|
||||||
|
'retry_scheduler/initial_delay_seconds': value => $initial_delay_seconds;
|
||||||
|
'retry_scheduler/periodic_interval_max_seconds': value => $periodic_interval_max_seconds;
|
||||||
|
}
|
||||||
|
|
||||||
|
# TODO(tkajinam): Currently NO DISTRO provides the pachage to install
|
||||||
|
# the retry daemon service. Once that is fixed, install
|
||||||
|
# a separate package and enable the service.
|
||||||
|
}
|
12
releasenotes/notes/retry_scheduler-10734512c1553e64.yaml
Normal file
12
releasenotes/notes/retry_scheduler-10734512c1553e64.yaml
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
---
|
||||||
|
features:
|
||||||
|
- |
|
||||||
|
The new ``barbican::retry_scheduler`` class has been added.
|
||||||
|
|
||||||
|
deprecations:
|
||||||
|
- |
|
||||||
|
The following parameters of the ``barbican`` class have been deprecated in
|
||||||
|
favor of the new ``barbican::retry_scheduler`` class.
|
||||||
|
|
||||||
|
- ``retry_scheduler_initial_delay_seconds``
|
||||||
|
- ``retry_scheduler_periodic_interval_max_seconds``
|
@ -60,8 +60,6 @@ describe 'barbican::api' do
|
|||||||
:enabled_certificate_plugins => ['<SERVICE DEFAULT>'],
|
:enabled_certificate_plugins => ['<SERVICE DEFAULT>'],
|
||||||
:enabled_certificate_event_plugins => ['<SERVICE DEFAULT>'],
|
:enabled_certificate_event_plugins => ['<SERVICE DEFAULT>'],
|
||||||
:auth_strategy => 'keystone',
|
:auth_strategy => 'keystone',
|
||||||
:retry_scheduler_initial_delay_seconds => '<SERVICE DEFAULT>',
|
|
||||||
:retry_scheduler_periodic_interval_max_seconds => '<SERVICE DEFAULT>',
|
|
||||||
:service_name => platform_params[:service_name],
|
:service_name => platform_params[:service_name],
|
||||||
:enable_proxy_headers_parsing => '<SERVICE DEFAULT>',
|
:enable_proxy_headers_parsing => '<SERVICE DEFAULT>',
|
||||||
:max_request_body_size => '<SERVICE DEFAULT>',
|
:max_request_body_size => '<SERVICE DEFAULT>',
|
||||||
@ -107,8 +105,6 @@ describe 'barbican::api' do
|
|||||||
:enabled_crypto_plugins => ['simple_crypto'],
|
:enabled_crypto_plugins => ['simple_crypto'],
|
||||||
:enabled_certificate_plugins => ['simple_certificate', 'dogtag'],
|
:enabled_certificate_plugins => ['simple_certificate', 'dogtag'],
|
||||||
:enabled_certificate_event_plugins => ['simple_certificate_event', 'foo_event'],
|
:enabled_certificate_event_plugins => ['simple_certificate_event', 'foo_event'],
|
||||||
:retry_scheduler_initial_delay_seconds => 10,
|
|
||||||
:retry_scheduler_periodic_interval_max_seconds => 11,
|
|
||||||
:max_allowed_secret_in_bytes => 20000,
|
:max_allowed_secret_in_bytes => 20000,
|
||||||
:max_allowed_request_size_in_bytes => 2000000,
|
:max_allowed_request_size_in_bytes => 2000000,
|
||||||
:enable_proxy_headers_parsing => false,
|
:enable_proxy_headers_parsing => false,
|
||||||
@ -210,13 +206,6 @@ describe 'barbican::api' do
|
|||||||
.with_value(param_hash[:multiple_secret_stores_enabled])
|
.with_value(param_hash[:multiple_secret_stores_enabled])
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'configures retry scheduler' do
|
|
||||||
is_expected.to contain_barbican_config('retry_scheduler/initial_delay_seconds') \
|
|
||||||
.with_value(param_hash[:retry_scheduler_initial_delay_seconds])
|
|
||||||
is_expected.to contain_barbican_config('retry_scheduler/periodic_interval_max_seconds') \
|
|
||||||
.with_value(param_hash[:retry_scheduler_periodic_interval_max_seconds])
|
|
||||||
end
|
|
||||||
|
|
||||||
it 'resets the barbican_api pipeline' do
|
it 'resets the barbican_api pipeline' do
|
||||||
is_expected.to contain_barbican_api_paste_ini('pipeline:barbican_api/pipeline')\
|
is_expected.to contain_barbican_api_paste_ini('pipeline:barbican_api/pipeline')\
|
||||||
.with_value('cors http_proxy_to_wsgi unauthenticated-context apiapp')
|
.with_value('cors http_proxy_to_wsgi unauthenticated-context apiapp')
|
||||||
|
45
spec/classes/barbican_retry_scheduler_spec.rb
Normal file
45
spec/classes/barbican_retry_scheduler_spec.rb
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
require 'spec_helper'
|
||||||
|
|
||||||
|
describe 'barbican::retry_scheduler' do
|
||||||
|
let :params do
|
||||||
|
{}
|
||||||
|
end
|
||||||
|
|
||||||
|
shared_examples 'barbican::retry_scheduler' do
|
||||||
|
context 'with defaults' do
|
||||||
|
it 'configures retry scheduler parameters' do
|
||||||
|
is_expected.to contain_barbican_config('retry_scheduler/initial_delay_seconds')\
|
||||||
|
.with_value('<SERVICE DEFAULT>')
|
||||||
|
is_expected.to contain_barbican_config('retry_scheduler/periodic_interval_max_seconds')\
|
||||||
|
.with_value('<SERVICE DEFAULT>')
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'with parameters set' do
|
||||||
|
before do
|
||||||
|
params.merge!({
|
||||||
|
:initial_delay_seconds => 10,
|
||||||
|
:periodic_interval_max_seconds => 11,
|
||||||
|
})
|
||||||
|
end
|
||||||
|
it 'configures retry scheduler parameters' do
|
||||||
|
is_expected.to contain_barbican_config('retry_scheduler/initial_delay_seconds')\
|
||||||
|
.with_value(10)
|
||||||
|
is_expected.to contain_barbican_config('retry_scheduler/periodic_interval_max_seconds')\
|
||||||
|
.with_value(11)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
on_supported_os({
|
||||||
|
:supported_os => OSDefaults.get_supported_os
|
||||||
|
}).each do |os,facts|
|
||||||
|
let (:facts) do
|
||||||
|
facts.merge(OSDefaults.get_facts())
|
||||||
|
end
|
||||||
|
|
||||||
|
context "on #{os}" do
|
||||||
|
it_behaves_like 'barbican::retry_scheduler'
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
Loading…
Reference in New Issue
Block a user