summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames Edwards <jae2@users.noreply.github.com>2014-07-09 12:41:08 +0100
committerJames Edwards <j.a.edwards86@googlemail.com>2014-08-14 23:50:07 +0100
commitef5197d78177ad6c1621e55799a39e99e0751b6a (patch)
treef3eb38b24c096cc4d820057d2d0586b2c21c02bb
parent5c4b129eda064d5cfec7edcb320ef769bc302345 (diff)
Allow option to avoid loading imfile module twice.
This throws a warning with version 8 of rsyslog. The best way to use imfile is to define the module list in extra_modules. However, if you still try to create an imfile without adding that it will still work the old way (adding modload imfile to the begining of the imfile).
-rw-r--r--manifests/imfile.pp4
-rw-r--r--manifests/init.pp5
-rw-r--r--manifests/modload.pp17
-rw-r--r--manifests/params.pp8
-rw-r--r--templates/imfile.erb3
-rw-r--r--templates/modload.erb3
6 files changed, 39 insertions, 1 deletions
diff --git a/manifests/imfile.pp b/manifests/imfile.pp
index 28665f8..bd0afa3 100644
--- a/manifests/imfile.pp
+++ b/manifests/imfile.pp
@@ -29,10 +29,12 @@ define rsyslog::imfile(
$polling_interval = 10,
$file_severity = 'notice',
$run_file_monitor = true,
- $persist_state_interval = 0
+ $persist_state_interval = 0,
) {
+
include rsyslog
+ $extra_modules = $rsyslog::extra_modules
file { "${rsyslog::rsyslog_d}${name}.conf":
ensure => file,
diff --git a/manifests/init.pp b/manifests/init.pp
index 0c57a84..e0f1727 100644
--- a/manifests/init.pp
+++ b/manifests/init.pp
@@ -39,8 +39,13 @@ class rsyslog (
$modules = $rsyslog::params::modules,
$preserve_fqdn = $rsyslog::params::preserve_fqdn,
$max_message_size = $rsyslog::params::max_message_size
+ $extra_modules = $rsyslog::params::extra_modules
) inherits rsyslog::params {
class { 'rsyslog::install': }
class { 'rsyslog::config': }
+ if $extra_modules != [] {
+ class { 'rsyslog::modload': }
+ }
class { 'rsyslog::service': }
+
}
diff --git a/manifests/modload.pp b/manifests/modload.pp
new file mode 100644
index 0000000..8022cf0
--- /dev/null
+++ b/manifests/modload.pp
@@ -0,0 +1,17 @@
+# == Class: rsyslog::modload
+#
+
+class rsyslog::modload (
+ $modload_filename = '10-modload.conf',
+)
+ {
+ file { "${rsyslog::rsyslog_d}$modload_filename":
+ ensure => file,
+ owner => 'root',
+ group => $rsyslog::run_group,
+ content => template('rsyslog/modload.erb'),
+ require => Class['rsyslog::install'],
+ notify => Class['rsyslog::service'],
+ }
+ }
+
diff --git a/manifests/params.pp b/manifests/params.pp
index 904148c..9161f3e 100644
--- a/manifests/params.pp
+++ b/manifests/params.pp
@@ -47,6 +47,8 @@ class rsyslog::params {
$preserve_fqdn = false
$service_hasrestart = true
$service_hasstatus = true
+ $extra_modules = []
+
}
redhat: {
if $::operatingsystem == 'Amazon' {
@@ -121,6 +123,7 @@ class rsyslog::params {
$preserve_fqdn = false
$service_hasrestart = true
$service_hasstatus = true
+ $extra_modules = []
}
suse: {
$rsyslog_package_name = 'rsyslog'
@@ -149,6 +152,8 @@ class rsyslog::params {
'#$ModLoad immark # provides --MARK-- message capability',
]
}
+ $extra_modules = []
+ }
freebsd: {
$rsyslog_package_name = 'sysutils/rsyslog5'
$relp_package_name = 'sysutils/rsyslog5-relp'
@@ -181,6 +186,7 @@ class rsyslog::params {
$preserve_fqdn = false
$service_hasrestart = true
$service_hasstatus = true
+ $extra_modules = []
}
default: {
@@ -217,6 +223,8 @@ class rsyslog::params {
$preserve_fqdn = false
$service_hasrestart = true
$service_hasstatus = true
+ $extra_modules = []
+
}
default: {
fail("The ${module_name} module is not supported on ${::osfamily}/${::operatingsystem}.")
diff --git a/templates/imfile.erb b/templates/imfile.erb
index 8b24edb..4a11c72 100644
--- a/templates/imfile.erb
+++ b/templates/imfile.erb
@@ -1,4 +1,7 @@
+<% if @extra_modules.empty?() or !@extra_modules.include?('imfile') -%>
$ModLoad imfile
+<% end -%>
+
$InputFileName <%= @file_name %>
$InputFileTag <%= @file_tag %>
diff --git a/templates/modload.erb b/templates/modload.erb
new file mode 100644
index 0000000..a14a612
--- /dev/null
+++ b/templates/modload.erb
@@ -0,0 +1,3 @@
+<% @extra_modules.each do |mod| -%>
+$ModLoad <%= mod %>
+<% end -%>