Add support for the api_settings/pagination_max_limit

This patch implements a new parameter named pagination_max_limit into
octaiva::api, so that operators can configure that parameter by puppet-octaiva.

Change-Id: Id8c389c136de34fd9d6d9fd762a3bf96f5d02267
This commit is contained in:
Christopher Brown 2021-03-04 20:46:12 +10:00
parent be9157566e
commit 1217a8fc35
3 changed files with 14 additions and 0 deletions

View File

@ -68,6 +68,10 @@
# (optional) Configure the loadbalancer provider drivers. # (optional) Configure the loadbalancer provider drivers.
# Defaults to $::os_service_default # Defaults to $::os_service_default
# #
# [*pagination_max_limit*]
# (optional) The maximum number of items returned in a single response.
# Defaults to $::os_service_default
#
# DEPRECATED PARAMETERS # DEPRECATED PARAMETERS
# #
# [*ovn_nb_connection*] # [*ovn_nb_connection*]
@ -90,6 +94,7 @@ class octavia::api (
$enable_proxy_headers_parsing = $::os_service_default, $enable_proxy_headers_parsing = $::os_service_default,
$default_provider_driver = $::os_service_default, $default_provider_driver = $::os_service_default,
$provider_drivers = $::os_service_default, $provider_drivers = $::os_service_default,
$pagination_max_limit = $::os_service_default,
# DEPRECATED PARAMETERS # DEPRECATED PARAMETERS
$ovn_nb_connection = undef $ovn_nb_connection = undef
) inherits octavia::params { ) inherits octavia::params {
@ -155,6 +160,7 @@ class octavia::api (
'api_settings/allow_tls_terminated_listeners': value => $allow_tls_terminated_listeners; 'api_settings/allow_tls_terminated_listeners': value => $allow_tls_terminated_listeners;
'api_settings/default_provider_driver': value => $default_provider_driver; 'api_settings/default_provider_driver': value => $default_provider_driver;
'api_settings/enabled_provider_drivers': value => $provider_drivers; 'api_settings/enabled_provider_drivers': value => $provider_drivers;
'api_settings/pagination_max_limit': value => $pagination_max_limit;
} }
oslo::middleware { 'octavia_config': oslo::middleware { 'octavia_config':

View File

@ -0,0 +1,5 @@
---
features:
- |
The new ``octaiva::api::pagination_max_limit`` parameter has been
added to configure the pagination_max_limit parameter in octavia.

View File

@ -13,6 +13,7 @@ describe 'octavia::api' do
:allow_tls_terminated_listeners => false, :allow_tls_terminated_listeners => false,
:default_provider_driver => 'ovn', :default_provider_driver => 'ovn',
:provider_drivers => { 'amphora' => 'Octavia Amphora Driver', 'ovn' => 'Octavia OVN driver' }, :provider_drivers => { 'amphora' => 'Octavia Amphora Driver', 'ovn' => 'Octavia OVN driver' },
:pagination_max_limit => '1000',
} }
end end
@ -53,6 +54,7 @@ describe 'octavia::api' do
is_expected.to contain_octavia_config('api_settings/allow_tls_terminated_listeners').with_value('<SERVICE DEFAULT>') is_expected.to contain_octavia_config('api_settings/allow_tls_terminated_listeners').with_value('<SERVICE DEFAULT>')
is_expected.to contain_octavia_config('api_settings/default_provider_driver').with_value('<SERVICE DEFAULT>') is_expected.to contain_octavia_config('api_settings/default_provider_driver').with_value('<SERVICE DEFAULT>')
is_expected.to contain_octavia_config('api_settings/enabled_provider_drivers').with_value('<SERVICE DEFAULT>') is_expected.to contain_octavia_config('api_settings/enabled_provider_drivers').with_value('<SERVICE DEFAULT>')
is_expected.to contain_octavia_config('api_settings/pagination_max_limit').with_value('<SERVICE DEFAULT>')
is_expected.to contain_oslo__middleware('octavia_config').with( is_expected.to contain_oslo__middleware('octavia_config').with(
:enable_proxy_headers_parsing => '<SERVICE DEFAULT>', :enable_proxy_headers_parsing => '<SERVICE DEFAULT>',
) )
@ -71,6 +73,7 @@ describe 'octavia::api' do
is_expected.to contain_octavia_config('api_settings/allow_tls_terminated_listeners').with_value( params[:allow_tls_terminated_listeners] ) is_expected.to contain_octavia_config('api_settings/allow_tls_terminated_listeners').with_value( params[:allow_tls_terminated_listeners] )
is_expected.to contain_octavia_config('api_settings/default_provider_driver').with_value( params[:default_provider_driver] ) is_expected.to contain_octavia_config('api_settings/default_provider_driver').with_value( params[:default_provider_driver] )
is_expected.to contain_octavia_config('api_settings/enabled_provider_drivers').with_value( params[:provider_drivers] ) is_expected.to contain_octavia_config('api_settings/enabled_provider_drivers').with_value( params[:provider_drivers] )
is_expected.to contain_octavia_config('api_settings/pagination_max_limit').with_value( params[:pagination_max_limit] )
end end
[{:enabled => true}, {:enabled => false}].each do |param_hash| [{:enabled => true}, {:enabled => false}].each do |param_hash|