Add support for oslo.middleware options

Change-Id: Ib5e374c97af141c47407df19ae71e7b518765f84
This commit is contained in:
Takashi Kajinami
2021-05-11 23:46:16 +09:00
parent 19d3603d0e
commit 13a5a26613
3 changed files with 43 additions and 13 deletions

View File

@@ -40,15 +40,26 @@
# to make cloudkitty-api be a web app using apache mod_wsgi.
# Defaults to 'httpd'
#
# [*enable_proxy_headers_parsing*]
# (Optional) Enable paste middleware to handle SSL requests through
# HTTPProxyToWSGI middleware.
# Defaults to $::os_service_default.
#
# [*max_request_body_size*]
# (Optional) Set max request body size
# Defaults to $::os_service_default.
#
class cloudkitty::api (
$package_ensure = 'present',
$manage_service = true,
$enabled = true,
$host_ip = $::os_service_default,
$port = $::os_service_default,
$pecan_debug = $::os_service_default,
$sync_db = true,
$service_name = 'httpd',
$package_ensure = 'present',
$manage_service = true,
$enabled = true,
$host_ip = $::os_service_default,
$port = $::os_service_default,
$pecan_debug = $::os_service_default,
$sync_db = true,
$service_name = 'httpd',
$enable_proxy_headers_parsing = $::os_service_default,
$max_request_body_size = $::os_service_default,
) {
include cloudkitty
@@ -104,4 +115,9 @@ class cloudkitty::api (
'api/pecan_debug': value => $pecan_debug;
}
oslo::middleware { 'cloudkitty_config':
enable_proxy_headers_parsing => $enable_proxy_headers_parsing,
max_request_body_size => $max_request_body_size,
}
}

View File

@@ -0,0 +1,8 @@
---
features:
- |
The following parameters have been added to the ``cloudkitty::api`` class,
to support parameters of oslo.middleware.
- ``enable_proxy_headers_parsing``
- ``max_request_body_size``

View File

@@ -3,11 +3,13 @@ require 'spec_helper'
describe 'cloudkitty::api' do
let :params do
{ :enabled => true,
:manage_service => true,
:host_ip => '127.0.0.1',
:port => '8889',
:pecan_debug => false }
{ :enabled => true,
:manage_service => true,
:host_ip => '127.0.0.1',
:port => '8889',
:pecan_debug => false,
:enable_proxy_headers_parsing => true,
:max_request_body_size => 102400,}
end
let :pre_condition do
@@ -29,6 +31,10 @@ describe 'cloudkitty::api' do
it { is_expected.to contain_cloudkitty_config('api/host_ip').with_value( params[:host_ip] ) }
it { is_expected.to contain_cloudkitty_config('api/port').with_value( params[:port] ) }
it { is_expected.to contain_cloudkitty_config('api/pecan_debug').with_value( params[:pecan_debug] ) }
it { is_expected.to contain_oslo__middleware('cloudkitty_config').with(
:enable_proxy_headers_parsing => params[:enable_proxy_headers_parsing],
:max_request_body_size => params[:max_request_body_size],
) }
it 'installs cloudkitty-api package' do
is_expected.to contain_package('cloudkitty-api').with(