From 3c03d66e133941ef0fda5283a3f326fb397c6592 Mon Sep 17 00:00:00 2001 From: Takashi Kajinami Date: Wed, 14 Jul 2021 01:49:15 +0900 Subject: [PATCH] Add support for [oslo_middleware] enable_proxy_headers_parsing Depends-on: https://review.opendev.org/800611/ Change-Id: I1bd705f42bc06233b06421df5e058ab02a3d76b4 --- manifests/api.pp | 24 +++++++++++++------ ...roxy_headers_parsing-a4ed4b03a8277030.yaml | 5 ++++ spec/classes/placement_api_spec.rb | 14 +++++++++++ 3 files changed, 36 insertions(+), 7 deletions(-) create mode 100644 releasenotes/notes/api-enable_proxy_headers_parsing-a4ed4b03a8277030.yaml diff --git a/manifests/api.pp b/manifests/api.pp index 6f4dbde..b3af660 100644 --- a/manifests/api.pp +++ b/manifests/api.pp @@ -27,6 +27,11 @@ # (optional) Run placement-manage db sync on api nodes after installing the package. # Defaults to false # +# [*enable_proxy_headers_parsing*] +# (Optional) Enable paste middleware to handle SSL requests through +# HTTPProxyToWSGI middleware. +# Defaults to $::os_service_default. +# # DEPRECATED PARAMETERS # # [*host*] @@ -38,14 +43,15 @@ # Defaults to undef # class placement::api ( - $enabled = true, - $manage_service = true, - $api_service_name = $::placement::params::service_name, - $package_ensure = 'present', - $sync_db = false, + $enabled = true, + $manage_service = true, + $api_service_name = $::placement::params::service_name, + $package_ensure = 'present', + $sync_db = false, + $enable_proxy_headers_parsing = $::os_service_default, # DEPRECATED PARAMETERS - $host = undef, - $port = undef, + $host = undef, + $port = undef, ) inherits placement::params { include placement::deps @@ -85,4 +91,8 @@ class placement::api ( if $sync_db { include placement::db::sync } + + oslo::middleware { 'placement_config': + enable_proxy_headers_parsing => $enable_proxy_headers_parsing, + } } diff --git a/releasenotes/notes/api-enable_proxy_headers_parsing-a4ed4b03a8277030.yaml b/releasenotes/notes/api-enable_proxy_headers_parsing-a4ed4b03a8277030.yaml new file mode 100644 index 0000000..8d8a756 --- /dev/null +++ b/releasenotes/notes/api-enable_proxy_headers_parsing-a4ed4b03a8277030.yaml @@ -0,0 +1,5 @@ +--- +features: + - | + The new ``placement::api::enable_proxy_headers_parsing`` parameter has been + added. diff --git a/spec/classes/placement_api_spec.rb b/spec/classes/placement_api_spec.rb index 53b44d0..0346829 100644 --- a/spec/classes/placement_api_spec.rb +++ b/spec/classes/placement_api_spec.rb @@ -17,6 +17,10 @@ describe 'placement::api' do :enabled => true, :ensure_package => 'present', ) } + + it { should contain_oslo__middleware('placement_config').with( + :enable_proxy_headers_parsing => '', + ) } end context 'with package_ensure parameter provided' do @@ -46,6 +50,16 @@ describe 'placement::api' do it { should contain_class('placement::db::sync') } end + + context 'with enable_proxy_headers_parsing set' do + let :params do + { :enable_proxy_headers_parsing => true } + end + + it { should contain_oslo__middleware('placement_config').with( + :enable_proxy_headers_parsing => true, + ) } + end end on_supported_os({