From 6b9d1a617f68c91f5e52b63736436166dc0643d0 Mon Sep 17 00:00:00 2001
From: Bill MacAllister <whm@stanford.edu>
Date: Thu, 16 Jan 2014 16:24:28 -0800
Subject: [PATCH] syslog: Always install templates

The output templates can be ignored if they are not useful for a
specific configuration.  Most of them time they are useful and
releaves custom configurations from the responsibility of installing
the templates separately when they are needed.
---
 manifests/syslog/config/rsyslog.pp | 44 +++++++++++++++---------------
 1 file changed, 22 insertions(+), 22 deletions(-)

diff --git a/manifests/syslog/config/rsyslog.pp b/manifests/syslog/config/rsyslog.pp
index b0a6a86..96aca83 100644
--- a/manifests/syslog/config/rsyslog.pp
+++ b/manifests/syslog/config/rsyslog.pp
@@ -46,6 +46,7 @@ define base::syslog::config::rsyslog(
     } else {
       $rsyslog_tmpl = 'etc/rsyslog.d/20-templates.conf'
       $rsyslog_def  = 'etc/rsyslog.d/95-default.conf.erb'
+      # handle preferences when v7 is requested
       case $::operatingsystem {
         'debian', 'ubuntu': {
           case $::lsbdistcodename {
@@ -62,31 +63,30 @@ define base::syslog::config::rsyslog(
         }
       }
     }
+    # Always install templates.  They can be ignore if there are
+    # not useful.
+    file { '/etc/rsyslog.d/20-templates.conf':
+      ensure  => present,
+      source  => "puppet:///modules/base/syslog/$rsyslog_tmpl",
+      owner   => $owner,
+      group   => $group,
+      mode    => $mode,
+      notify  => Service['syslog'],
+    }
+    # Install the default catch all rule, or not, as desired.
     if $use_default {
-      file {
-        '/etc/rsyslog.d/20-templates.conf':
-          ensure  => present,
-          source  => "puppet:///modules/base/syslog/$rsyslog_tmpl",
-          owner   => $owner,
-          group   => $group,
-          mode    => $mode,
-          notify  => Service['syslog'];
-        '/etc/rsyslog.d/95-default.conf':
-          ensure  => present,
-          content => template("base/syslog/$rsyslog_def"),
-          owner   => $owner,
-          group   => $group,
-          mode    => $mode,
-          notify  => Service['syslog'];
+      file { '/etc/rsyslog.d/95-default.conf':
+        ensure  => present,
+        content => template("base/syslog/$rsyslog_def"),
+        owner   => $owner,
+        group   => $group,
+        mode    => $mode,
+        notify  => Service['syslog'],
       }
     } else {
-      file {
-        '/etc/rsyslog.d/20-templates.conf':
-          ensure  => absent,
-          notify  => Service['syslog'];
-        '/etc/rsyslog.d/95-default.conf':
-          ensure  => absent,
-          notify  => Service['syslog'];
+      file { '/etc/rsyslog.d/95-default.conf':
+        ensure  => absent,
+        notify  => Service['syslog'],
       }
     }
   }
-- 
GitLab