Manage oslo_middleware/max_request_body_size

So that we can increase it from the default 114688

Useful in case for example the OS-Federation mapping is too large.

If this limit is breached ironic will return a 413 Entity Too Large
and not log anything to ironic.log.

Change-Id: Icd4f0e41da2917ae9e0411ad774fe9b0bec2849f
Closes-Bug: #1835161
This commit is contained in:
ZhongShengping 2019-07-04 11:34:43 +08:00
parent e7516d3dc8
commit cd37458f67
3 changed files with 22 additions and 0 deletions

View File

@ -65,6 +65,10 @@
# HTTPProxyToWSGI middleware.
# Defaults to $::os_service_default.
#
# [*max_request_body_size*]
# (Optional) Set max request body size
# Defaults to $::os_service_default.
#
class ironic::api (
$package_ensure = 'present',
$enabled = true,
@ -75,6 +79,7 @@ class ironic::api (
$workers = $::os_service_default,
$public_endpoint = $::os_service_default,
$enable_proxy_headers_parsing = $::os_service_default,
$max_request_body_size = $::os_service_default,
) inherits ironic::params {
include ::ironic::deps
@ -135,6 +140,7 @@ standalone service, or httpd for being run by a httpd server")
oslo::middleware { 'ironic_config':
enable_proxy_headers_parsing => $enable_proxy_headers_parsing,
max_request_body_size => $max_request_body_size,
}
}

View File

@ -0,0 +1,5 @@
---
features:
- |
Add support to configure `[oslo_middleware]/max_request_body_size` with
`$max_request_body_size`.

View File

@ -71,6 +71,7 @@ describe 'ironic::api' do
is_expected.to contain_ironic_config('api/public_endpoint').with_value('<SERVICE DEFAULT>')
is_expected.to contain_oslo__middleware('ironic_config').with(
:enable_proxy_headers_parsing => '<SERVICE DEFAULT>',
:max_request_body_size => '<SERVICE DEFAULT>',
)
end
@ -103,6 +104,16 @@ describe 'ironic::api' do
)}
end
context 'with max_request_body_size' do
before do
params.merge!({:max_request_body_size => '102400' })
end
it { is_expected.to contain_oslo__middleware('ironic_config').with(
:max_request_body_size => '102400',
)}
end
context 'when running ironic-api in wsgi' do
before do
params.merge!({ :service_name => 'httpd' })