diff options
author | James Edwards <jae2@users.noreply.github.com> | 2014-07-09 12:41:08 +0100 |
---|---|---|
committer | James Edwards <j.a.edwards86@googlemail.com> | 2014-08-14 23:50:07 +0100 |
commit | ef5197d78177ad6c1621e55799a39e99e0751b6a (patch) | |
tree | f3eb38b24c096cc4d820057d2d0586b2c21c02bb | |
parent | 5c4b129eda064d5cfec7edcb320ef769bc302345 (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.pp | 4 | ||||
-rw-r--r-- | manifests/init.pp | 5 | ||||
-rw-r--r-- | manifests/modload.pp | 17 | ||||
-rw-r--r-- | manifests/params.pp | 8 | ||||
-rw-r--r-- | templates/imfile.erb | 3 | ||||
-rw-r--r-- | templates/modload.erb | 3 |
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 -%> |