From 9fcacf58190007e27b01e623f91a63ad481bc43e Mon Sep 17 00:00:00 2001 From: Yasser Nabi Date: Thu, 10 Jul 2014 19:33:33 +0100 Subject: Use fact for rsyslog version instead of param With the introduction of the rsyslog_version fact, it seems more consistent to use that to determine what version of the config to use. The fact has also been updated to support FreeBSD (although not well tested) --- lib/facter/rsyslog_version.rb | 8 ++++++++ manifests/init.pp | 3 +-- templates/client.conf.erb | 2 +- templates/rsyslog.conf.erb | 2 +- 4 files changed, 11 insertions(+), 4 deletions(-) diff --git a/lib/facter/rsyslog_version.rb b/lib/facter/rsyslog_version.rb index bbde16c..de8531e 100644 --- a/lib/facter/rsyslog_version.rb +++ b/lib/facter/rsyslog_version.rb @@ -23,6 +23,14 @@ Facter.add(:rsyslog_version) do else nil end + when "FreeBSD" + command='pkg query %v rsyslog' + version = Facter::Util::Resolution.exec(command) + if version =~ /^(.+)$/ + $1 + else + nil + end else nil end diff --git a/manifests/init.pp b/manifests/init.pp index 5758b13..f0b2cd2 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -37,8 +37,7 @@ class rsyslog ( $server_conf = $rsyslog::params::server_conf, $ssl = $rsyslog::params::ssl, $modules = $rsyslog::params::modules, - $preserve_fqdn = $rsyslog::params::preserve_fqdn, - $v8plus = $rsyslog::params::v8plus + $preserve_fqdn = $rsyslog::params::preserve_fqdn ) inherits rsyslog::params { class { 'rsyslog::install': } class { 'rsyslog::config': } diff --git a/templates/client.conf.erb b/templates/client.conf.erb index 9dc5083..d72e080 100644 --- a/templates/client.conf.erb +++ b/templates/client.conf.erb @@ -165,7 +165,7 @@ mail.* -/var/log/maillog cron.* /var/log/cron # Everybody gets emergency messages -<% if scope.lookupvar('rsyslog::v8plus') == true -%> +<% if @rsyslog_version.split('.')[0].to_i >= 8 -%> *.emerg :omusrmsg:* <% else -%> *.emerg * diff --git a/templates/rsyslog.conf.erb b/templates/rsyslog.conf.erb index 0339ef9..446c91e 100644 --- a/templates/rsyslog.conf.erb +++ b/templates/rsyslog.conf.erb @@ -35,7 +35,7 @@ $IncludeConfig <%= scope.lookupvar('rsyslog::rsyslog_d') -%>*.conf # # Emergencies are sent to everybody logged in. # -<% if scope.lookupvar('rsyslog::v8plus') == true -%> +<% if @rsyslog_version.split('.')[0].to_i >= 8 -%> *.emerg :omusrmsg:* <% else -%> *.emerg * -- cgit v1.2.3