From e4941136f1eaa98085c0bb606478b0169066ec41 Mon Sep 17 00:00:00 2001
From: Takashi Kajinami <kajinamit@oss.nttdata.com>
Date: Sat, 26 Oct 2024 18:18:26 +0900
Subject: [PATCH] Support more log_address options

Support customizing log_address options for object-expirer and
container-reconciler for better parameter coverage.

Change-Id: I60a2fef439e2e70019d906bab33c8ea7ebe9098e
---
 manifests/containerreconciler.pp                          | 6 ++++++
 manifests/objectexpirer.pp                                | 6 ++++++
 releasenotes/notes/more-log-address-8b213a4efcb3e364.yaml | 7 +++++++
 spec/classes/swift_containerreconciler_spec.rb            | 2 ++
 spec/classes/swift_objectexpirer_spec.rb                  | 2 ++
 5 files changed, 23 insertions(+)
 create mode 100644 releasenotes/notes/more-log-address-8b213a4efcb3e364.yaml

diff --git a/manifests/containerreconciler.pp b/manifests/containerreconciler.pp
index 93aba8cb..cab66976 100644
--- a/manifests/containerreconciler.pp
+++ b/manifests/containerreconciler.pp
@@ -99,6 +99,10 @@
 #    (optional) Log level
 #    Defaults to 'LOG_LOCAL2'.
 #
+#  [*log_address*]
+#    (optional) Location where syslog sends the logs to.
+#    Defaults to '/dev/log'.
+#
 #  [*purge_config*]
 #    (optional) Whether to set only the specified config options
 #    in the proxy config.
@@ -124,6 +128,7 @@ class swift::containerreconciler(
   $log_name                                = $facts['os_service_default'],
   $log_level                               = 'INFO',
   $log_facility                            = 'LOG_LOCAL2',
+  $log_address                             = '/dev/log',
   Boolean $purge_config                    = false,
 ) inherits swift::params {
 
@@ -191,6 +196,7 @@ class swift::containerreconciler(
     'container-reconciler/log_name':      value => $log_name;
     'container-reconciler/log_facility':  value => $log_facility;
     'container-reconciler/log_level':     value => $log_level;
+    'container-reconciler/log_address':   value => $log_address;
   }
 
   if $manage_service {
diff --git a/manifests/objectexpirer.pp b/manifests/objectexpirer.pp
index c13de034..a410a445 100644
--- a/manifests/objectexpirer.pp
+++ b/manifests/objectexpirer.pp
@@ -105,6 +105,10 @@
 #    (optional) Log level
 #    Defaults to 'LOG_LOCAL2'.
 #
+#  [*log_address*]
+#    (optional) Location where syslog sends the logs to.
+#    Defaults to '/dev/log'.
+#
 #  [*purge_config*]
 #    (optional) Whether to set only the specified config options
 #    in the object expirer config.
@@ -132,6 +136,7 @@ class swift::objectexpirer(
   $log_name                                = $facts['os_service_default'],
   $log_level                               = 'INFO',
   $log_facility                            = 'LOG_LOCAL2',
+  $log_address                             = '/dev/log',
   Boolean $purge_config                    = false,
 ) inherits swift::params {
 
@@ -211,6 +216,7 @@ class swift::objectexpirer(
     'object-expirer/log_name':                      value => $log_name;
     'object-expirer/log_facility':                  value => $log_facility;
     'object-expirer/log_level':                     value => $log_level;
+    'object-expirer/log_address':                   value => $log_address;
   }
 
   if $manage_service {
diff --git a/releasenotes/notes/more-log-address-8b213a4efcb3e364.yaml b/releasenotes/notes/more-log-address-8b213a4efcb3e364.yaml
new file mode 100644
index 00000000..b189896c
--- /dev/null
+++ b/releasenotes/notes/more-log-address-8b213a4efcb3e364.yaml
@@ -0,0 +1,7 @@
+---
+features:
+  - |
+    The new ``swift::objectexpirer::log_address`` option has been added.
+
+  - |
+    The new ``swift::containerreconciler::log_address`` option has been added.
diff --git a/spec/classes/swift_containerreconciler_spec.rb b/spec/classes/swift_containerreconciler_spec.rb
index b8d3d919..2e3af00e 100644
--- a/spec/classes/swift_containerreconciler_spec.rb
+++ b/spec/classes/swift_containerreconciler_spec.rb
@@ -40,6 +40,8 @@ describe 'swift::containerreconciler' do
           'container-reconciler/log_level').with_value('INFO')
         is_expected.to contain_swift_container_reconciler_config(
           'container-reconciler/log_facility').with_value('LOG_LOCAL2')
+        is_expected.to contain_swift_container_reconciler_config(
+          'container-reconciler/log_address').with_value('/dev/log')
         is_expected.to contain_swift_container_reconciler_config(
           'filter:cache/memcache_servers').with_value('127.0.0.1:11211')
         is_expected.to contain_swift_container_reconciler_config(
diff --git a/spec/classes/swift_objectexpirer_spec.rb b/spec/classes/swift_objectexpirer_spec.rb
index 7a1809e2..94e69954 100644
--- a/spec/classes/swift_objectexpirer_spec.rb
+++ b/spec/classes/swift_objectexpirer_spec.rb
@@ -44,6 +44,8 @@ describe 'swift::objectexpirer' do
           'object-expirer/log_level').with_value('INFO')
         is_expected.to contain_swift_object_expirer_config(
           'object-expirer/log_facility').with_value('LOG_LOCAL2')
+        is_expected.to contain_swift_object_expirer_config(
+          'object-expirer/log_address').with_value('/dev/log')
         is_expected.to contain_swift_object_expirer_config(
           'filter:cache/memcache_servers').with_value('127.0.0.1:11211')
         is_expected.to contain_swift_object_expirer_config(