Merge "Add Apache WSGI logging parameters for pipe/syslog"

This commit is contained in:
Zuul 2020-06-18 15:36:25 +00:00 committed by Gerrit Code Review
commit a70f39488f
3 changed files with 99 additions and 6 deletions

View File

@ -70,6 +70,14 @@
# The log file name for the virtualhost.
# Optional. Defaults to false.
#
# [*access_log_pipe*]
# Specifies a pipe where Apache sends access logs for the virtualhost.
# Optional. Defaults to false.
#
# [*access_log_syslog*]
# Sends the virtualhost access log messages to syslog.
# Optional. Defaults to false.
#
# [*access_log_format*]
# The log format for the virtualhost.
# Optional. Defaults to false.
@ -78,6 +86,14 @@
# The error log file name for the virtualhost.
# Optional. Defaults to undef.
#
# [*error_log_pipe*]
# Specifies a pipe where Apache sends error logs for the virtualhost.
# Optional. Defaults to undef.
#
# [*error_log_syslog*]
# Sends the virtualhost error log messages to syslog.
# Optional. Defaults to undef.
#
# [*custom_wsgi_process_options*]
# (optional) gives you the opportunity to add custom process options or to
# overwrite the default options for the WSGI main process.
@ -114,8 +130,12 @@ class cinder::wsgi::apache (
$threads = 1,
$priority = '10',
$access_log_file = false,
$access_log_pipe = false,
$access_log_syslog = false,
$access_log_format = false,
$error_log_file = undef,
$error_log_pipe = undef,
$error_log_syslog = undef,
$custom_wsgi_process_options = {},
) {
@ -153,8 +173,12 @@ class cinder::wsgi::apache (
wsgi_script_source => $::cinder::params::cinder_wsgi_script_source,
custom_wsgi_process_options => $custom_wsgi_process_options,
access_log_file => $access_log_file,
access_log_pipe => $access_log_pipe,
access_log_syslog => $access_log_syslog,
access_log_format => $access_log_format,
error_log_file => $error_log_file,
error_log_pipe => $error_log_pipe,
error_log_syslog => $error_log_syslog,
require => Anchor['cinder::install::end'],
}
}

View File

@ -0,0 +1,6 @@
---
features:
- |
Added parameters for advanced configuration of httpd access and error log
destinations including piped logging and syslog (see `mod_syslog`). Note
that mod_syslog requires Apache2 >= 2.5.0.

View File

@ -23,7 +23,12 @@ describe 'cinder::wsgi::apache' do
:wsgi_script_source => platform_params[:wsgi_script_source],
:custom_wsgi_process_options => {},
:access_log_file => false,
:access_log_pipe => false,
:access_log_syslog => false,
:access_log_format => false,
:error_log_file => nil,
:error_log_pipe => nil,
:error_log_syslog => nil,
)}
end
@ -39,9 +44,6 @@ describe 'cinder::wsgi::apache' do
:custom_wsgi_process_options => {
'python_path' => '/my/python/admin/path',
},
:access_log_file => '/var/log/httpd/access_log',
:access_log_format => 'some format',
:error_log_file => '/var/log/httpd/error_log'
}
end
it { is_expected.to contain_class('cinder::params') }
@ -67,9 +69,70 @@ describe 'cinder::wsgi::apache' do
:custom_wsgi_process_options => {
'python_path' => '/my/python/admin/path',
},
:access_log_file => '/var/log/httpd/access_log',
:access_log_format => 'some format',
:error_log_file => '/var/log/httpd/error_log'
)}
end
context 'with custom access logging' do
let :params do
{
:access_log_format => 'foo',
:access_log_syslog => 'syslog:local0',
:error_log_syslog => 'syslog:local1',
}
end
it { should contain_openstacklib__wsgi__apache('cinder_wsgi').with(
:access_log_format => params[:access_log_format],
:access_log_syslog => params[:access_log_syslog],
:error_log_syslog => params[:error_log_syslog],
)}
end
context 'with access_log_file' do
let :params do
{
:access_log_file => '/path/to/file',
}
end
it { should contain_openstacklib__wsgi__apache('cinder_wsgi').with(
:access_log_file => params[:access_log_file],
)}
end
context 'with access_log_pipe' do
let :params do
{
:access_log_pipe => 'pipe',
}
end
it { should contain_openstacklib__wsgi__apache('cinder_wsgi').with(
:access_log_pipe => params[:access_log_pipe],
)}
end
context 'with error_log_file' do
let :params do
{
:error_log_file => '/path/to/file',
}
end
it { should contain_openstacklib__wsgi__apache('cinder_wsgi').with(
:error_log_file => params[:error_log_file],
)}
end
context 'with error_log_pipe' do
let :params do
{
:error_log_pipe => 'pipe',
}
end
it { should contain_openstacklib__wsgi__apache('cinder_wsgi').with(
:error_log_pipe => params[:error_log_pipe],
)}
end
end