From 94936054ac322eef42b880914d06ff4d1ae8cba8 Mon Sep 17 00:00:00 2001 From: Paul Leimer Date: Thu, 6 May 2021 12:47:14 -0400 Subject: [PATCH] Add option to set rsyslog reopenOnTruncate parameter for all services If defined, set reopenOnTruncate rsyslog imfile option for all services. Paremeter definition set by the services takes precedence Change-Id: I5870c0689434eaca8d114cd83e1164e1454565d7 (cherry picked from commit 8f3a88ba27911eead71a5bf45e2540b0ab20e22a) --- manifests/profile/base/logging/rsyslog.pp | 11 +++++++++- .../base/logging/rsyslog/file_input.pp | 21 +++++++++++++++++-- 2 files changed, 29 insertions(+), 3 deletions(-) diff --git a/manifests/profile/base/logging/rsyslog.pp b/manifests/profile/base/logging/rsyslog.pp index 97798fa04..d5beb825a 100644 --- a/manifests/profile/base/logging/rsyslog.pp +++ b/manifests/profile/base/logging/rsyslog.pp @@ -45,6 +45,12 @@ # (Optional) String. Contains content of the private key corresponding to # the cert elasticsearch_tls_client_cert. # Defaults to undef +# +# [*reopen_on_truncate*] +# (Optional) String. Set all rsyslog imfile reopenOnTruncate parameters +# unless it is already specified in hiera +# Defaults to undef +# class tripleo::profile::base::logging::rsyslog ( $step = Integer(hiera('step')), $service_names = hiera('service_names', []), @@ -52,6 +58,7 @@ class tripleo::profile::base::logging::rsyslog ( $elasticsearch_tls_ca_cert = undef, $elasticsearch_tls_client_cert = undef, $elasticsearch_tls_client_key = undef, + $reopen_on_truncate = undef, ) { if $step >= 2 { # NOTE: puppet-rsyslog does not have params manifest, so we don't have any @@ -115,6 +122,8 @@ class tripleo::profile::base::logging::rsyslog ( modules => $modules, actions => $actions } - tripleo::profile::base::logging::rsyslog::file_input{$service_names: } + tripleo::profile::base::logging::rsyslog::file_input{$service_names: + reopen_on_truncate => $reopen_on_truncate + } } } diff --git a/manifests/profile/base/logging/rsyslog/file_input.pp b/manifests/profile/base/logging/rsyslog/file_input.pp index 0c58f1128..db6f9dda6 100644 --- a/manifests/profile/base/logging/rsyslog/file_input.pp +++ b/manifests/profile/base/logging/rsyslog/file_input.pp @@ -12,9 +12,15 @@ # tripleo_logging_sources_. # Defaults to '^[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2}(.[0-9]+ [0-9]+)? (DEBUG|INFO|WARNING|ERROR) ' # +# [*reopen_on_truncate*] +# (Optional) String. Set all rsyslog imfile reopenOnTruncate parameters +# unless it is already specified in hiera +# Defaults to undef +# define tripleo::profile::base::logging::rsyslog::file_input ( $sources = hiera("tripleo_logging_sources_${title}", undef), - $default_startmsg = '^[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2}(.[0-9]+ [0-9]+)? (DEBUG|INFO|WARNING|ERROR) ' + $default_startmsg = '^[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2}(.[0-9]+ [0-9]+)? (DEBUG|INFO|WARNING|ERROR) ', + Optional[Enum['on','off']] $reopen_on_truncate = undef ) { if $sources { $sources_array = Array($sources, true) @@ -24,7 +30,18 @@ define tripleo::profile::base::logging::rsyslog::file_input ( } else { $record = $config } - $memo + [$record] + + if ! $config['reopenOnTruncate'] { + if $reopen_on_truncate { + $record2 = $record + {'reopenOnTruncate' => $reopen_on_truncate} + } else { + $record2 = $record + } + } else { + $record2 = $record + } + + $memo + [$record2] } $rsyslog_sources.each |$config| {