From a92eafa444a358b9b8cb1fcd2c1881575f5e5838 Mon Sep 17 00:00:00 2001 From: Benedikt Trefzer Date: Tue, 7 Nov 2023 17:59:29 +0100 Subject: [PATCH] allow to use access_log_env_var for apache wsgi Change-Id: I8cf5be457e8775a96a4491bda01a0a7a18e03c25 --- manifests/wsgi/apache_api.pp | 7 +++++++ manifests/wsgi/apache_metadata.pp | 7 +++++++ .../access_log_env_var-d2d8ed2f6d542276.yaml | 6 ++++++ spec/classes/nova_wsgi_apache_api_spec.rb | 15 +++++++++------ spec/classes/nova_wsgi_apache_metadata_spec.rb | 15 +++++++++------ 5 files changed, 38 insertions(+), 12 deletions(-) create mode 100644 releasenotes/notes/access_log_env_var-d2d8ed2f6d542276.yaml diff --git a/manifests/wsgi/apache_api.pp b/manifests/wsgi/apache_api.pp index 1c9c8abb6..8f3823c24 100644 --- a/manifests/wsgi/apache_api.pp +++ b/manifests/wsgi/apache_api.pp @@ -87,6 +87,11 @@ # (Optional) The log format for the virtualhost. # Defaults to undef. # +# [*access_log_env_var*] +# (Optional) Specifies that only requests with particular +# environment variables be logged. +# Defaults to undef. +# # [*error_log_file*] # (Optional) The error log file name for the virtualhost. # Defaults to undef. @@ -152,6 +157,7 @@ class nova::wsgi::apache_api ( $access_log_pipe = undef, $access_log_syslog = undef, $access_log_format = undef, + $access_log_env_var = undef, $error_log_file = undef, $error_log_pipe = undef, $error_log_syslog = undef, @@ -199,6 +205,7 @@ class nova::wsgi::apache_api ( access_log_pipe => $access_log_pipe, access_log_syslog => $access_log_syslog, access_log_format => $access_log_format, + access_log_env_var => $access_log_env_var, error_log_file => $error_log_file, error_log_pipe => $error_log_pipe, error_log_syslog => $error_log_syslog, diff --git a/manifests/wsgi/apache_metadata.pp b/manifests/wsgi/apache_metadata.pp index 80cc6fb86..71cdf02f1 100644 --- a/manifests/wsgi/apache_metadata.pp +++ b/manifests/wsgi/apache_metadata.pp @@ -91,6 +91,11 @@ # (Optional) The log format for the virtualhost. # Defaults to undef. # +# [*access_log_env_var*] +# (Optional) Specifies that only requests with particular +# environment variables be logged. +# Defaults to undef. +# # [*error_log_file*] # (Optional) The error log file name for the virtualhost. # Defaults to undef. @@ -157,6 +162,7 @@ class nova::wsgi::apache_metadata ( $access_log_pipe = undef, $access_log_syslog = undef, $access_log_format = undef, + $access_log_env_var = undef, $error_log_file = undef, $error_log_pipe = undef, $error_log_syslog = undef, @@ -212,6 +218,7 @@ class nova::wsgi::apache_metadata ( access_log_pipe => $access_log_pipe, access_log_syslog => $access_log_syslog, access_log_format => $access_log_format, + access_log_env_var => $access_log_env_var, error_log_file => $error_log_file, error_log_pipe => $error_log_pipe, error_log_syslog => $error_log_syslog, diff --git a/releasenotes/notes/access_log_env_var-d2d8ed2f6d542276.yaml b/releasenotes/notes/access_log_env_var-d2d8ed2f6d542276.yaml new file mode 100644 index 000000000..7dd0a5c5c --- /dev/null +++ b/releasenotes/notes/access_log_env_var-d2d8ed2f6d542276.yaml @@ -0,0 +1,6 @@ +--- +features: + - | + Add the ``access_log_env_var`` parameter to the ``nova::wsgi::apache_api`` + and the ``nova::wsgi::apache_metadata`` classes + to allow filtering logs (eg. suppress healthecks) diff --git a/spec/classes/nova_wsgi_apache_api_spec.rb b/spec/classes/nova_wsgi_apache_api_spec.rb index 143109774..5473c8411 100644 --- a/spec/classes/nova_wsgi_apache_api_spec.rb +++ b/spec/classes/nova_wsgi_apache_api_spec.rb @@ -36,6 +36,7 @@ describe 'nova::wsgi::apache_api' do :access_log_pipe => nil, :access_log_syslog => nil, :access_log_format => nil, + :access_log_env_var => nil, :error_log_file => nil, :error_log_pipe => nil, :error_log_syslog => nil, @@ -118,16 +119,18 @@ describe 'nova::wsgi::apache_api' do let :params do { - :access_log_format => 'foo', - :access_log_syslog => 'syslog:local0', - :error_log_syslog => 'syslog:local1', + :access_log_format => 'foo', + :access_log_syslog => 'syslog:local0', + :error_log_syslog => 'syslog:local1', + :access_log_env_var => '!dontlog', } end it { should contain_openstacklib__wsgi__apache('nova_api_wsgi').with( - :access_log_format => params[:access_log_format], - :access_log_syslog => params[:access_log_syslog], - :error_log_syslog => params[:error_log_syslog], + :access_log_format => params[:access_log_format], + :access_log_syslog => params[:access_log_syslog], + :error_log_syslog => params[:error_log_syslog], + :access_log_env_var => params[:access_log_env_var], )} end diff --git a/spec/classes/nova_wsgi_apache_metadata_spec.rb b/spec/classes/nova_wsgi_apache_metadata_spec.rb index 9ada6953a..a81450bf6 100644 --- a/spec/classes/nova_wsgi_apache_metadata_spec.rb +++ b/spec/classes/nova_wsgi_apache_metadata_spec.rb @@ -34,6 +34,7 @@ describe 'nova::wsgi::apache_metadata' do :access_log_pipe => nil, :access_log_syslog => nil, :access_log_format => nil, + :access_log_env_var => nil, :error_log_file => nil, :error_log_pipe => nil, :error_log_syslog => nil, @@ -112,16 +113,18 @@ describe 'nova::wsgi::apache_metadata' do let :params do { - :access_log_format => 'foo', - :access_log_syslog => 'syslog:local0', - :error_log_syslog => 'syslog:local1', + :access_log_format => 'foo', + :access_log_syslog => 'syslog:local0', + :error_log_syslog => 'syslog:local1', + :access_log_env_var => '!dontlog', } end it { should contain_openstacklib__wsgi__apache('nova_metadata_wsgi').with( - :access_log_format => params[:access_log_format], - :access_log_syslog => params[:access_log_syslog], - :error_log_syslog => params[:error_log_syslog], + :access_log_format => params[:access_log_format], + :access_log_syslog => params[:access_log_syslog], + :error_log_syslog => params[:error_log_syslog], + :access_log_env_var => params[:access_log_env_var], )} end