summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--README.md39
-rw-r--r--lib/facter/rsyslog_version.rb38
-rw-r--r--manifests/client.pp127
-rw-r--r--manifests/params.pp20
-rw-r--r--spec/classes/rsyslog_client_spec.rb139
-rw-r--r--spec/classes/rsyslog_database_spec.rb351
-rw-r--r--spec/classes/rsyslog_server_spec.rb182
-rw-r--r--spec/classes/rsyslog_spec.rb574
-rw-r--r--spec/defines/rsyslog_imfile_spec.rb178
-rw-r--r--spec/defines/rsyslog_snippet_spec.rb160
-rw-r--r--templates/client.conf.erb10
-rw-r--r--templates/rsyslog.conf.erb4
13 files changed, 1341 insertions, 482 deletions
diff --git a/.gitignore b/.gitignore
index 288247f..d51673f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,3 +2,4 @@ pkg/
*.swp
.forge-releng
/spec/fixtures
+.DS_Store
diff --git a/README.md b/README.md
index ef16ddf..ffd8181 100644
--- a/README.md
+++ b/README.md
@@ -19,13 +19,20 @@ Manage rsyslog client and server via Puppet
#### Variables and default values
```
class { 'rsyslog::client':
- log_remote => true,
- remote_type => 'tcp',
- log_local => false,
- log_auth_local => false,
- custom_config => undef,
- server => 'log',
- port => '514',
+ log_remote => true,
+ spool_size => '1g',
+ remote_type => 'tcp',
+ remote_forward_format => 'RSYSLOG_ForwardFormat',
+ log_local => false,
+ log_auth_local => false,
+ custom_config => undef,
+ custom_params => undef,
+ server => 'log',
+ port => '514',
+ remote_servers => false,
+ ssl_ca => undef,
+ log_templates => false,
+ actionfiletemplate => false
}
```
for read from file
@@ -149,11 +156,17 @@ The following lists all the class parameters this module accepts.
RSYSLOG::CLIENT CLASS PARAMETERS VALUES DESCRIPTION
-------------------------------------------------------------------
log_remote true,false Log Remotely. Defaults to true.
+ spool_size STRING Max size for disk queue if remote server failed. Defaults to '1g'.
remote_type 'tcp','udp' Which protocol to use when logging remotely. Defaults to 'tcp'.
+ remote_forward_format STRING Which forward format for remote servers should be used. Only used if remote_servers is false.
log_local true,false Log locally. Defaults to false.
log_auth_local true,false Just log auth facility locally. Defaults to false.
custom_config STRING Specify your own template to use for client config. Defaults to undef. Example usage: custom_config => 'rsyslog/my_config.erb
- server STRING Rsyslog server to log to. Will be used in the client configuration file.
+ custom_params TODO TODO
+ server STRING Rsyslog server to log to. Will be used in the client configuration file. Only used, if remote_servers is false.
+ port '514' Remote server port. Only used if remote_servers is false.
+ remote_servers Array of hashes Array of hashes with remote servers. See documentation above. Defaults to false.
+ ssl_ca STRING SSL CA file location. Defaults to undef.
log_templates HASH Provides a has defining custom logging templates using the `$template` configuration parameter.
actionfiletemplate STRING If set this defines the `ActionFileDefaultTemplate` which sets the default logging format for remote and local logging.
@@ -177,3 +190,13 @@ directory. i.e. www01 www02 and www02 would all log to the www directory.
To log each host to a seperate directory, set the custom_config parameter to
'rsyslog/server-hostname.conf.erb'
+
+If any of the following parameters are set to `false`, then the module will not
+manage the respective package:
+
+ gnutls_package_name
+ relp_package_name
+ rsyslog_package_name
+
+This can be used when using the adiscon PPA repository, that has merged rsyslog-gnutls
+with the main rsyslog package.
diff --git a/lib/facter/rsyslog_version.rb b/lib/facter/rsyslog_version.rb
new file mode 100644
index 0000000..de8531e
--- /dev/null
+++ b/lib/facter/rsyslog_version.rb
@@ -0,0 +1,38 @@
+# Fact: :syslog_package
+#
+# Purpose: retrieve installed rsyslog version
+#
+
+Facter.add(:rsyslog_version) do
+ setcode do
+ osfamily = Facter.value('osfamily')
+ case osfamily
+ when "Debian"
+ command='/usr/bin/dpkg-query -f \'${Status};${Version};\' -W rsyslog 2>/dev/null'
+ version = Facter::Util::Resolution.exec(command)
+ if version =~ /.*install ok installed;([^;]+);.*/
+ $1
+ else
+ nil
+ end
+ when "RedHat", "Suse"
+ command='rpm -qa --qf "%{VERSION}" "rsyslog"'
+ version = Facter::Util::Resolution.exec(command)
+ if version =~ /^(.+)$/
+ $1
+ 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
+ end
+end
diff --git a/manifests/client.pp b/manifests/client.pp
index f8a2120..193aa33 100644
--- a/manifests/client.pp
+++ b/manifests/client.pp
@@ -1,63 +1,64 @@
-# == Class: rsyslog::client
-#
-# Full description of class role here.
-#
-# === Parameters
-#
-# [*sample_parameter*]
-# [*spool_size*]
-# [*log_local*]
-# [*log_auth_local*]
-# [*custom_config*]
-# [*custom_params*]
-# [*log_remote*]
-# [*server*]
-# [*remote_type*]
-# [*port*]
-# [*remote_servers*]
-# [*ssl_ca*]
-# [*log_templates*]
-# [*actionfiletemplate*]
-#
-# === Variables
-#
-# === Examples
-#
-# class { 'rsyslog::client': }
-#
-class rsyslog::client (
- $log_remote = true,
- $spool_size = '1g',
- $remote_type = 'tcp',
- $log_local = false,
- $log_auth_local = false,
- $custom_config = undef,
- $custom_params = undef,
- $server = 'log',
- $port = '514',
- $remote_servers = false,
- $ssl_ca = undef,
- $log_templates = false,
- $actionfiletemplate = false
-) inherits rsyslog {
-
- if $custom_config {
- $content_real = template($custom_config)
- } else {
- $content_real = template("${module_name}/client.conf.erb")
- }
-
- rsyslog::snippet { $rsyslog::client_conf:
- ensure => present,
- content => $content_real,
- }
-
- if $rsyslog::ssl and $ssl_ca == undef {
- fail('You need to define $ssl_ca in order to use SSL.')
- }
-
- if $rsyslog::ssl and $remote_type != 'tcp' {
- fail('You need to enable tcp in order to use SSL.')
- }
-
-}
+# == Class: rsyslog::client
+#
+# Full description of class role here.
+#
+# === Parameters
+#
+# [*log_remote*]
+# [*spool_size*]
+# [*remote_type*]
+# [*remote_forward_format*]
+# [*log_local*]
+# [*log_auth_local*]
+# [*custom_config*]
+# [*custom_params*]
+# [*server*]
+# [*port*]
+# [*remote_servers*]
+# [*ssl_ca*]
+# [*log_templates*]
+# [*actionfiletemplate*]
+#
+# === Variables
+#
+# === Examples
+#
+# class { 'rsyslog::client': }
+#
+class rsyslog::client (
+ $log_remote = true,
+ $spool_size = '1g',
+ $remote_type = 'tcp',
+ $remote_forward_format = 'RSYSLOG_ForwardFormat',
+ $log_local = false,
+ $log_auth_local = false,
+ $custom_config = undef,
+ $custom_params = undef,
+ $server = 'log',
+ $port = '514',
+ $remote_servers = false,
+ $ssl_ca = undef,
+ $log_templates = false,
+ $actionfiletemplate = false
+) inherits rsyslog {
+
+ if $custom_config {
+ $content_real = template($custom_config)
+ } else {
+ $content_real = template("${module_name}/client.conf.erb")
+ }
+
+ rsyslog::snippet { $rsyslog::client_conf:
+ ensure => present,
+ content => $content_real,
+ }
+
+ if $rsyslog::ssl and $ssl_ca == undef {
+ fail('You need to define $ssl_ca in order to use SSL.')
+ }
+
+ if $rsyslog::ssl and $remote_type != 'tcp' {
+ fail('You need to enable tcp in order to use SSL.')
+ }
+
+}
diff --git a/manifests/params.pp b/manifests/params.pp
index f4cd74b..d301458 100644
--- a/manifests/params.pp
+++ b/manifests/params.pp
@@ -120,11 +120,12 @@ class rsyslog::params {
$service_hasrestart = true
$service_hasstatus = true
}
- sles: {
+ suse: {
$rsyslog_package_name = 'rsyslog'
- $relp_package_name = 'rsyslog-module-relp'
- $mysql_package_name = 'rsyslog-module-mysql'
- $pgsql_package_name = 'rsyslog-module-pgsql'
+ $relp_package_name = false
+ $mysql_package_name = false
+ $pgsql_package_name = false
+ $gnutls_package_name = false
$package_status = 'latest'
$rsyslog_d = '/etc/rsyslog.d/'
$rsyslog_conf = '/etc/rsyslog.conf'
@@ -133,13 +134,18 @@ class rsyslog::params {
$run_group = 'root'
$log_user = 'root'
$log_group = 'root'
- $log_style = 'sles'
+ $log_style = 'debian'
$perm_file = '0600'
$perm_dir = '0750'
$spool_dir = '/var/spool/rsyslog/'
$service_name = 'syslog'
- $client_conf = "${rsyslog_d}client.conf"
- $server_conf = "${rsyslog_d}server.conf"
+ $client_conf = 'client'
+ $server_conf = 'server'
+ $modules = [
+ '$ModLoad imuxsock # provides support for local system logging',
+ '$ModLoad imklog # provides kernel logging support (previously done by rklogd)',
+ '#$ModLoad immark # provides --MARK-- message capability',
+ ]
}
freebsd: {
$rsyslog_package_name = 'sysutils/rsyslog5'
diff --git a/spec/classes/rsyslog_client_spec.rb b/spec/classes/rsyslog_client_spec.rb
index b05b416..82865db 100644
--- a/spec/classes/rsyslog_client_spec.rb
+++ b/spec/classes/rsyslog_client_spec.rb
@@ -1,52 +1,145 @@
require 'spec_helper'
describe 'rsyslog::client', :type => :class do
- context "osfamily = RedHat" do
- let :facts do
+
+ context "Rsyslog version >= 8" do
+ let(:default_facts) do
{
- :osfamily => 'RedHat',
- :operatingsystem => 'RedHat',
- :operatingsystemmajrelease => 6,
+ :rsyslog_version => '8.1.2'
}
end
- context "default usage (osfamily = RedHat)" do
- let(:title) { 'rsyslog-client-basic' }
+ context "osfamily = RedHat" do
+ let :facts do
+ default_facts.merge!({
+ :osfamily => 'RedHat',
+ :operatingsystem => 'RedHat',
+ :operatingsystemmajrelease => 6,
+ })
+ end
+
+ context "default usage (osfamily = RedHat)" do
+ let(:title) { 'rsyslog-client-basic' }
+
+ it 'should compile' do
+ should contain_file('/etc/rsyslog.d/client.conf')
+ end
+ end
+ end
+
+ context "osfamily = Debian" do
+ let :facts do
+ default_facts.merge!({
+ :osfamily => 'Debian',
+ })
+ end
+
+ context "default usage (osfamily = Debian)" do
+ let(:title) { 'rsyslog-client-basic' }
+
+ it 'should compile' do
+ should contain_file('/etc/rsyslog.d/client.conf')
+ end
+ end
+ end
+
+ context "osfamily = FreeBSD" do
+ let :facts do
+ default_facts.merge!({
+ :osfamily => 'freebsd',
+ })
+ end
+
+ context "default usage (osfamily = Debian)" do
+ let(:title) { 'rsyslog-client-basic' }
- it 'should compile' do
- should contain_file('/etc/rsyslog.d/client.conf')
+ it 'should compile' do
+ should contain_file('/etc/syslog.d/client.conf')
+ end
end
end
end
- context "osfamily = Debian" do
- let :facts do
+ context "Rsyslog version =< 8" do
+ let(:default_facts) do
{
- :osfamily => 'Debian',
+ :rsyslog_version => '7.1.2'
}
end
- context "default usage (osfamily = Debian)" do
- let(:title) { 'rsyslog-client-basic' }
+ context "osfamily = RedHat" do
+ let :facts do
+ default_facts.merge!({
+ :osfamily => 'RedHat',
+ :operatingsystem => 'RedHat',
+ :operatingsystemmajrelease => 6,
+ })
+ end
- it 'should compile' do
- should contain_file('/etc/rsyslog.d/client.conf')
+ context "default usage (osfamily = RedHat)" do
+ let(:title) { 'rsyslog-client-basic' }
+
+ it 'should compile' do
+ should contain_file('/etc/rsyslog.d/client.conf')
+ end
+ end
+ end
+
+ context "osfamily = Debian" do
+ let :facts do
+ default_facts.merge!({
+ :osfamily => 'Debian',
+ })
+ end
+
+ context "default usage (osfamily = Debian)" do
+ let(:title) { 'rsyslog-client-basic' }
+
+ it 'should compile' do
+ should contain_file('/etc/rsyslog.d/client.conf')
+ end
+ end
+ end
+
+ context "osfamily = FreeBSD" do
+ let :facts do
+ default_facts.merge!({
+ :osfamily => 'freebsd',
+ })
+ end
+
+ context "default usage (osfamily = FreeBSD)" do
+ let(:title) { 'rsyslog-client-basic' }
+
+ it 'should compile' do
+ should contain_file('/etc/syslog.d/client.conf')
+ end
end
end
end
- context "osfamily = FreeBSD" do
- let :facts do
+ context "Rsyslog version = nil" do
+ let(:default_facts) do
{
- :osfamily => 'freebsd',
+ :rsyslog_version => nil
}
end
- context "default usage (osfamily = Debian)" do
- let(:title) { 'rsyslog-client-basic' }
+ context "osfamily = RedHat" do
+ let :facts do
+ default_facts.merge!({
+ :osfamily => 'RedHat',
+ :operatingsystem => 'RedHat',
+ :operatingsystemmajrelease => 6,
+ })
+ end
+
+ context "default usage (osfamily = RedHat)" do
+ let(:title) { 'rsyslog-client-basic' }
- it 'should compile' do
- should contain_file('/etc/syslog.d/client.conf')
+ it 'should compile' do
+ should contain_file('/etc/rsyslog.d/client.conf')
+ end
end
end
end
diff --git a/spec/classes/rsyslog_database_spec.rb b/spec/classes/rsyslog_database_spec.rb
index 83bb09a..0421135 100644
--- a/spec/classes/rsyslog_database_spec.rb
+++ b/spec/classes/rsyslog_database_spec.rb
@@ -1,146 +1,307 @@
require 'spec_helper'
describe 'rsyslog::database', :type => :class do
- context "osfamily = RedHat" do
- let :facts do
+
+ context "Rsyslog version >= 8" do
+ let(:default_facts) do
{
- :osfamily => 'RedHat',
- :operatingsystem => 'RedHat',
- :operatingsystemmajrelease => 6,
+ :rsyslog_version => '8.1.2'
}
end
- context "default usage mysql (osfamily = RedHat)" do
- let(:title) { 'rsyslog-database-mysql' }
+ context "osfamily = RedHat" do
+ let :facts do
+ default_facts.merge!({
+ :osfamily => 'RedHat',
+ :operatingsystem => 'RedHat',
+ :operatingsystemmajrelease => 6,
+ })
+ end
+
+ context "default usage mysql (osfamily = RedHat)" do
+ let(:title) { 'rsyslog-database-mysql' }
- let (:params) {
- {
- 'backend' => 'mysql',
- 'server' => 'localhost',
- 'database' => 'rsyslog',
- 'username' => 'us3rname',
- 'password' => 'passw0rd',
+ let (:params) {
+ {
+ 'backend' => 'mysql',
+ 'server' => 'localhost',
+ 'database' => 'rsyslog',
+ 'username' => 'us3rname',
+ 'password' => 'passw0rd',
+ }
}
- }
- it 'should compile' do
- should contain_package('rsyslog-mysql')
- should contain_file('/etc/rsyslog.d/mysql.conf')
+ it 'should compile' do
+ should contain_package('rsyslog-mysql')
+ should contain_file('/etc/rsyslog.d/mysql.conf')
+ end
+ end
+
+ context "default usage pgsql (osfamily = RedHat)" do
+ let(:title) { 'rsyslog-database-pgsql' }
+
+ let (:params) {
+ {
+ 'backend' => 'pgsql',
+ 'server' => 'localhost',
+ 'database' => 'rsyslog',
+ 'username' => 'us3rname',
+ 'password' => 'passw0rd',
+ }
+ }
+
+ it 'should compile' do
+ should contain_package('rsyslog-pgsql')
+ should contain_file('/etc/rsyslog.d/pgsql.conf')
+ end
end
end
- context "default usage pgsql (osfamily = RedHat)" do
- let(:title) { 'rsyslog-database-pgsql' }
- let (:params) {
- {
- 'backend' => 'pgsql',
- 'server' => 'localhost',
- 'database' => 'rsyslog',
- 'username' => 'us3rname',
- 'password' => 'passw0rd',
+
+ context "osfamily = Debian" do
+ let :facts do
+ default_facts.merge!({
+ :osfamily => 'Debian',
+ })
+ end
+
+ context "default usage mysql (osfamily = Debian)" do
+ let(:title) { 'rsyslog-database-mysql' }
+
+ let (:params) {
+ {
+ 'backend' => 'mysql',
+ 'server' => 'localhost',
+ 'database' => 'rsyslog',
+ 'username' => 'us3rname',
+ 'password' => 'passw0rd',
+ }
+ }
+
+ it 'should compile' do
+ should contain_package('rsyslog-mysql')
+ should contain_file('/etc/rsyslog.d/mysql.conf')
+ end
+ end
+
+ context "default usage pgsql (osfamily = Debian)" do
+ let(:title) { 'rsyslog-database-pgsql' }
+
+ let (:params) {
+ {
+ 'backend' => 'pgsql',
+ 'server' => 'localhost',
+ 'database' => 'rsyslog',
+ 'username' => 'us3rname',
+ 'password' => 'passw0rd',
+ }
}
- }
- it 'should compile' do
- should contain_package('rsyslog-pgsql')
- should contain_file('/etc/rsyslog.d/pgsql.conf')
+ it 'should compile' do
+ should contain_package('rsyslog-pgsql')
+ should contain_file('/etc/rsyslog.d/pgsql.conf')
+ end
end
end
- end
- context "osfamily = Debian" do
- let :facts do
+ context "osfamily = FreeBSD" do
+ let :facts do
+ default_facts.merge!({
+ :osfamily => 'freebsd',
+ })
+ end
+
+ context "default usage mysql (osfamily = FreeBSD)" do
+ let(:title) { 'rsyslog-database-mysql' }
+
+ let (:params) {
+ {
+ 'backend' => 'mysql',
+ 'server' => 'localhost',
+ 'database' => 'rsyslog',
+ 'username' => 'us3rname',
+ 'password' => 'passw0rd',
+ }
+ }
+
+ it 'should compile' do
+ should contain_package('sysutils/rsyslog5-mysql')
+ should contain_file('/etc/syslog.d/mysql.conf')
+ end
+ end
+
+ context "default usage pgsql (osfamily = FreeBSD)" do
+ let(:title) { 'rsyslog-database-pgsql' }
+
+ let (:params) {
+ {
+ 'backend' => 'pgsql',
+ 'server' => 'localhost',
+ 'database' => 'rsyslog',
+ 'username' => 'us3rname',
+ 'password' => 'passw0rd',
+ }
+ }
+
+ it 'should compile' do
+ should contain_package('sysutils/rsyslog5-pgsql')
+ should contain_file('/etc/syslog.d/pgsql.conf')
+ end
+ end
+ end
+ end
+
+ context "Rsyslog version =< 8" do
+ let(:default_facts) do
{
- :osfamily => 'Debian',
+ :rsyslog_version => '7.1.2'
}
end
- context "default usage mysql (osfamily = Debian)" do
- let(:title) { 'rsyslog-database-mysql' }
+ context "osfamily = RedHat" do
+ let :facts do
+ default_facts.merge!({
+ :osfamily => 'RedHat',
+ :operatingsystem => 'RedHat',
+ :operatingsystemmajrelease => 6,
+ })
+ end
+
+ context "default usage mysql (osfamily = RedHat)" do
+ let(:title) { 'rsyslog-database-mysql' }
- let (:params) {
- {
- 'backend' => 'mysql',
- 'server' => 'localhost',
- 'database' => 'rsyslog',
- 'username' => 'us3rname',
- 'password' => 'passw0rd',
+ let (:params) {
+ {
+ 'backend' => 'mysql',
+ 'server' => 'localhost',
+ 'database' => 'rsyslog',
+ 'username' => 'us3rname',
+ 'password' => 'passw0rd',
+ }
}
- }
- it 'should compile' do
- should contain_package('rsyslog-mysql')
- should contain_file('/etc/rsyslog.d/mysql.conf')
+ it 'should compile' do
+ should contain_package('rsyslog-mysql')
+ should contain_file('/etc/rsyslog.d/mysql.conf')
+ end
end
- end
- context "default usage pgsql (osfamily = Debian)" do
- let(:title) { 'rsyslog-database-pgsql' }
+ context "default usage pgsql (osfamily = RedHat)" do
+ let(:title) { 'rsyslog-database-pgsql' }
- let (:params) {
- {
- 'backend' => 'pgsql',
- 'server' => 'localhost',
- 'database' => 'rsyslog',
- 'username' => 'us3rname',
- 'password' => 'passw0rd',
+ let (:params) {
+ {
+ 'backend' => 'pgsql',
+ 'server' => 'localhost',
+ 'database' => 'rsyslog',
+ 'username' => 'us3rname',
+ 'password' => 'passw0rd',
+ }
}
- }
- it 'should compile' do
- should contain_package('rsyslog-pgsql')
- should contain_file('/etc/rsyslog.d/pgsql.conf')
+ it 'should compile' do
+ should contain_package('rsyslog-pgsql')
+ should contain_file('/etc/rsyslog.d/pgsql.conf')
+ end
end
end
- end
- context "osfamily = FreeBSD" do
- let :facts do
- {
- :osfamily => 'freebsd',
- }
- end
+ context "osfamily = Debian" do
+ let :facts do
+ default_facts.merge!({
+ :osfamily => 'Debian',
+ })
+ end
- context "default usage mysql (osfamily = FreeBSD)" do
- let(:title) { 'rsyslog-database-mysql' }
+ context "default usage mysql (osfamily = Debian)" do
+ let(:title) { 'rsyslog-database-mysql' }
- let (:params) {
- {
- 'backend' => 'mysql',
- 'server' => 'localhost',
- 'database' => 'rsyslog',
- 'username' => 'us3rname',
- 'password' => 'passw0rd',
+ let (:params) {
+ {
+ 'backend' => 'mysql',
+ 'server' => 'localhost',
+ 'database' => 'rsyslog',
+ 'username' => 'us3rname',
+ 'password' => 'passw0rd',
+ }
}
- }
- it 'should compile' do
- should contain_package('sysutils/rsyslog5-mysql')
- should contain_file('/etc/syslog.d/mysql.conf')
+ it 'should compile' do
+ should contain_package('rsyslog-mysql')
+ should contain_file('/etc/rsyslog.d/mysql.conf')
+ end
+ end
+
+ context "default usage pgsql (osfamily = Debian)" do
+ let(:title) { 'rsyslog-database-pgsql' }
+
+ let (:params) {
+ {
+ 'backend' => 'pgsql',
+ 'server' => 'localhost',
+ 'database' => 'rsyslog',
+ 'username' => 'us3rname',
+ 'password' => 'passw0rd',
+ }
+ }
+
+ it 'should compile' do
+ should contain_package('rsyslog-pgsql')
+ should contain_file('/etc/rsyslog.d/pgsql.conf')
+ end
end
end
- context "default usage pgsql (osfamily = FreeBSD)" do
- let(:title) { 'rsyslog-database-pgsql' }
- let (:params) {
- {
- 'backend' => 'pgsql',
- 'server' => 'localhost',
- 'database' => 'rsyslog',
- 'username' => 'us3rname',
- 'password' => 'passw0rd',
+
+ context "osfamily = FreeBSD" do
+ let :facts do
+ default_facts.merge!({
+ :osfamily => 'freebsd',
+ })
+ end
+
+ context "default usage mysql (osfamily = FreeBSD)" do
+ let(:title) { 'rsyslog-database-mysql' }
+
+ let (:params) {
+ {
+ 'backend' => 'mysql',
+ 'server' => 'localhost',
+ 'database' => 'rsyslog',
+ 'username' => 'us3rname',
+ 'password' => 'passw0rd',
+ }
+ }
+
+ it 'should compile' do
+ should contain_package('sysutils/rsyslog5-mysql')
+ should contain_file('/etc/syslog.d/mysql.conf')
+ end
+ end
+
+ context "default usage pgsql (osfamily = FreeBSD)" do
+ let(:title) { 'rsyslog-database-pgsql' }
+
+ let (:params) {
+ {
+ 'backend' => 'pgsql',
+ 'server' => 'localhost',
+ 'database' => 'rsyslog',
+ 'username' => 'us3rname',
+ 'password' => 'passw0rd',
+ }
}
- }
- it 'should compile' do
- should contain_package('sysutils/rsyslog5-pgsql')
- should contain_file('/etc/syslog.d/pgsql.conf')
+ it 'should compile' do
+ should contain_package('sysutils/rsyslog5-pgsql')
+ should contain_file('/etc/syslog.d/pgsql.conf')
+ end
end
end
end
diff --git a/spec/classes/rsyslog_server_spec.rb b/spec/classes/rsyslog_server_spec.rb
index cbaf81b..8f57656 100644
--- a/spec/classes/rsyslog_server_spec.rb
+++ b/spec/classes/rsyslog_server_spec.rb
@@ -2,85 +2,181 @@ require 'spec_helper'
describe 'rsyslog::server', :type => :class do
- ['RedHat', 'Debian'].each do |osfamily|
- context "osfamily = #{osfamily}" do
+ context "Rsyslog version >= 8" do
+ let(:default_facts) do
+ {
+ :rsyslog_version => '8.1.2'
+ }
+ end
+
+ ['RedHat', 'Debian'].each do |osfamily|
+ context "osfamily = #{osfamily}" do
+ let :facts do
+ default_facts.merge!({
+ :osfamily => osfamily,
+ :operatingsystem => osfamily,
+ :operatingsystemmajrelease => 6,
+ })
+ end
+
+ context "default usage (osfamily = #{osfamily})" do
+ let(:title) { 'rsyslog-server-basic' }
+
+ it 'should compile' do
+ should contain_file('/etc/rsyslog.d/server.conf').with_content(/\(\[A-Za-z-\]\*\)--end%\/auth.log/)
+ should contain_file('/etc/rsyslog.d/server.conf').with_content(/\(\[A-Za-z-\]\*\)--end%\/messages/)
+ end
+ end
+
+ context "enable_onefile (osfamily = #{osfamily})" do
+ let(:title) { 'rsyslog-server-onefile' }
+ let(:params) { {'enable_onefile' => 'true'} }
+
+ it 'should compile' do
+ should_not contain_file('/etc/rsyslog.d/server.conf').with_content(/\(\[A-Za-z-\]\*\)--end%\/auth.log/)
+ should contain_file('/etc/rsyslog.d/server.conf').with_content(/\(\[A-Za-z-\]\*\)--end%\/messages/)
+ end
+ end
+
+ context "hostname_template (osfamily = #{osfamily})" do
+ let(:title) { 'rsyslog-server-onefile' }
+ let(:params) { {'custom_config' => 'rsyslog/server-hostname.conf.erb'} }
+
+ it 'should compile' do
+ should contain_file('/etc/rsyslog.d/server.conf').with_content(/%hostname%\/auth.log/)
+ should contain_file('/etc/rsyslog.d/server.conf').with_content(/%hostname%\/messages/)
+ end
+ end
+
+ end
+ end
+
+
+ context "osfamily = FreeBSD" do
let :facts do
- {
- :osfamily => osfamily,
- :operatingsystem => osfamily,
- :operatingsystemmajrelease => 6,
- }
+ default_facts.merge!({
+ :osfamily => 'freebsd',
+ })
end
- context "default usage (osfamily = #{osfamily})" do
+ context "default usage (osfamily = FreeBSD)" do
let(:title) { 'rsyslog-server-basic' }
-
+
it 'should compile' do
- should contain_file('/etc/rsyslog.d/server.conf').with_content(/\(\[A-Za-z-\]\*\)--end%\/auth.log/)
- should contain_file('/etc/rsyslog.d/server.conf').with_content(/\(\[A-Za-z-\]\*\)--end%\/messages/)
+ should contain_file('/etc/syslog.d/server.conf').with_content(/\(\[A-Za-z-\]\*\)--end%\/auth.log/)
+ should contain_file('/etc/syslog.d/server.conf').with_content(/\(\[A-Za-z-\]\*\)--end%\/messages/)
end
end
- context "enable_onefile (osfamily = #{osfamily})" do
+ context "enable_onefile (osfamily = FreeBSD)" do
let(:title) { 'rsyslog-server-onefile' }
let(:params) { {'enable_onefile' => 'true'} }
-
+
it 'should compile' do
- should_not contain_file('/etc/rsyslog.d/server.conf').with_content(/\(\[A-Za-z-\]\*\)--end%\/auth.log/)
- should contain_file('/etc/rsyslog.d/server.conf').with_content(/\(\[A-Za-z-\]\*\)--end%\/messages/)
+ should_not contain_file('/etc/syslog.d/server.conf').with_content(/\(\[A-Za-z-\]\*\)--end%\/auth.log/)
+ should contain_file('/etc/syslog.d/server.conf').with_content(/\(\[A-Za-z-\]\*\)--end%\/messages/)
end
end
- context "hostname_template (osfamily = #{osfamily})" do
+ context "hostname_template (osfamily = FreeBSD)" do
let(:title) { 'rsyslog-server-onefile' }
let(:params) { {'custom_config' => 'rsyslog/server-hostname.conf.erb'} }
-
+
it 'should compile' do
- should contain_file('/etc/rsyslog.d/server.conf').with_content(/%hostname%\/auth.log/)
- should contain_file('/etc/rsyslog.d/server.conf').with_content(/%hostname%\/messages/)
+ should contain_file('/etc/syslog.d/server.conf').with_content(/%hostname%\/auth.log/)
+ should contain_file('/etc/syslog.d/server.conf').with_content(/%hostname%\/messages/)
end
end
end
end
-
- context "osfamily = FreeBSD" do
- let :facts do
+ context "Rsyslog version =< 8" do
+ let(:default_facts) do
{
- :osfamily => 'freebsd',
+ :rsyslog_version => '7.1.2'
}
end
- context "default usage (osfamily = FreeBSD)" do
- let(:title) { 'rsyslog-server-basic' }
+ ['RedHat', 'Debian'].each do |osfamily|
+ context "osfamily = #{osfamily}" do
+ let :facts do
+ default_facts.merge!({
+ :osfamily => osfamily,
+ :operatingsystem => osfamily,
+ :operatingsystemmajrelease => 6,
+ })
+ end
+
+ context "default usage (osfamily = #{osfamily})" do
+ let(:title) { 'rsyslog-server-basic' }
+
+ it 'should compile' do
+ should contain_file('/etc/rsyslog.d/server.conf').with_content(/\(\[A-Za-z-\]\*\)--end%\/auth.log/)
+ should contain_file('/etc/rsyslog.d/server.conf').with_content(/\(\[A-Za-z-\]\*\)--end%\/messages/)
+ end
+ end
+
+ context "enable_onefile (osfamily = #{osfamily})" do
+ let(:title) { 'rsyslog-server-onefile' }
+ let(:params) { {'enable_onefile' => 'true'} }
+
+ it 'should compile' do
+ should_not contain_file('/etc/rsyslog.d/server.conf').with_content(/\(\[A-Za-z-\]\*\)--end%\/auth.log/)
+ should contain_file('/etc/rsyslog.d/server.conf').with_content(/\(\[A-Za-z-\]\*\)--end%\/messages/)
+ end
+ end
+
+ context "hostname_template (osfamily = #{osfamily})" do
+ let(:title) { 'rsyslog-server-onefile' }
+ let(:params) { {'custom_config' => 'rsyslog/server-hostname.conf.erb'} }
+
+ it 'should compile' do
+ should contain_file('/etc/rsyslog.d/server.conf').with_content(/%hostname%\/auth.log/)
+ should contain_file('/etc/rsyslog.d/server.conf').with_content(/%hostname%\/messages/)
+ end
+ end
- it 'should compile' do
- should contain_file('/etc/syslog.d/server.conf').with_content(/\(\[A-Za-z-\]\*\)--end%\/auth.log/)
- should contain_file('/etc/syslog.d/server.conf').with_content(/\(\[A-Za-z-\]\*\)--end%\/messages/)
end
end
- context "enable_onefile (osfamily = FreeBSD)" do
- let(:title) { 'rsyslog-server-onefile' }
- let(:params) { {'enable_onefile' => 'true'} }
+
+ context "osfamily = FreeBSD" do
+ let :facts do
+ default_facts.merge!({
+ :osfamily => 'freebsd',
+ })
+ end
+
+ context "default usage (osfamily = FreeBSD)" do
+ let(:title) { 'rsyslog-server-basic' }
+
+ it 'should compile' do
+ should contain_file('/etc/syslog.d/server.conf').with_content(/\(\[A-Za-z-\]\*\)--end%\/auth.log/)
+ should contain_file('/etc/syslog.d/server.conf').with_content(/\(\[A-Za-z-\]\*\)--end%\/messages/)
+ end
+ end
+
+ context "enable_onefile (osfamily = FreeBSD)" do
+ let(:title) { 'rsyslog-server-onefile' }
+ let(:params) { {'enable_onefile' => 'true'} }
- it 'should compile' do
- should_not contain_file('/etc/syslog.d/server.conf').with_content(/\(\[A-Za-z-\]\*\)--end%\/auth.log/)
- should contain_file('/etc/syslog.d/server.conf').with_content(/\(\[A-Za-z-\]\*\)--end%\/messages/)
+ it 'should compile' do
+ should_not contain_file('/etc/syslog.d/server.conf').with_content(/\(\[A-Za-z-\]\*\)--end%\/auth.log/)
+ should contain_file('/etc/syslog.d/server.conf').with_content(/\(\[A-Za-z-\]\*\)--end%\/messages/)
+ end
end
- end
- context "hostname_template (osfamily = FreeBSD)" do
- let(:title) { 'rsyslog-server-onefile' }
- let(:params) { {'custom_config' => 'rsyslog/server-hostname.conf.erb'} }
+ context "hostname_template (osfamily = FreeBSD)" do
+ let(:title) { 'rsyslog-server-onefile' }
+ let(:params) { {'custom_config' => 'rsyslog/server-hostname.conf.erb'} }
- it 'should compile' do
- should contain_file('/etc/syslog.d/server.conf').with_content(/%hostname%\/auth.log/)
- should contain_file('/etc/syslog.d/server.conf').with_content(/%hostname%\/messages/)
+ it 'should compile' do
+ should contain_file('/etc/syslog.d/server.conf').with_content(/%hostname%\/auth.log/)
+ should contain_file('/etc/syslog.d/server.conf').with_content(/%hostname%\/messages/)
+ end
end
- end
+ end
end
-
end # describe 'rsyslog::server'
diff --git a/spec/classes/rsyslog_spec.rb b/spec/classes/rsyslog_spec.rb
index a4747bc..344d717 100644
--- a/spec/classes/rsyslog_spec.rb
+++ b/spec/classes/rsyslog_spec.rb
@@ -1,214 +1,468 @@
require 'spec_helper'
describe 'rsyslog', :type => :class do
- context "osfamily = RedHat" do
- let :facts do
+
+ context "Rsyslog version >= 8" do
+ let(:default_facts) do
{
- :osfamily => 'RedHat',
- :operatingsystem => 'RedHat',
- :operatingsystemmajrelease => 6,
+ :rsyslog_version => '8.1.2'
}
end
- context "default usage (osfamily = RedHat)" do
- let(:title) { 'rsyslog-basic' }
-
- it 'should compile' do
- should contain_class('rsyslog::install')
- should contain_class('rsyslog::config')
- should contain_class('rsyslog::service')
+ context "osfamily = RedHat" do
+ let :facts do
+ default_facts.merge!({
+ :osfamily => 'RedHat',
+ :operatingsystem => 'RedHat',
+ :operatingsystemmajrelease => 6,
+ })
+ end
+
+ context "default usage (osfamily = RedHat)" do
+ let(:title) { 'rsyslog-basic' }
+
+ it 'should compile' do
+ should contain_class('rsyslog::install')
+ should contain_class('rsyslog::config')
+ should contain_class('rsyslog::service')
+ end
end
end
- end
-
- context "osfamily = Debian" do
- let :facts do
- {
- :osfamily => 'Debian',
- }
+
+ context "osfamily = Debian" do
+ let :facts do
+ default_facts.merge!({
+ :osfamily => 'Debian',
+ })
+ end
+
+ context "default usage (osfamily = Debian)" do
+ let(:title) { 'rsyslog-basic' }
+
+ it 'should compile' do
+ should contain_class('rsyslog::install')
+ should contain_class('rsyslog::config')
+ should contain_class('rsyslog::service')
+ end
+ end
end
-
- context "default usage (osfamily = Debian)" do
- let(:title) { 'rsyslog-basic' }
-
- it 'should compile' do
- should contain_class('rsyslog::install')
- should contain_class('rsyslog::config')
- should contain_class('rsyslog::service')
+
+ context "osfamily = FreeBSD" do
+ let :facts do
+ default_facts.merge!({
+ :osfamily => 'freebsd',
+ })
+ end
+
+ context "default usage (osfamily = FreeBSD)" do
+ let(:title) { 'rsyslog-basic' }
+
+ it 'should compile' do
+ should contain_class('rsyslog::install')
+ should contain_class('rsyslog::config')
+ should contain_class('rsyslog::service')
+ end
end
end
- end
-
- context "osfamily = FreeBSD" do
- let :facts do
- {
- :osfamily => 'freebsd',
- }
+
+ context "osfamily = RedHat" do
+ let :facts do
+ default_facts.merge!({
+ :osfamily => 'RedHat',
+ :operatingsystem => 'RedHat',
+ :operatingsystemmajrelease => 6,
+ })
+ end
+
+ context "default usage (osfamily = RedHat)" do
+ let(:title) { 'rsyslog-basic' }
+
+ it 'should compile' do
+ should contain_file('/etc/rsyslog.conf')
+ should contain_file('/etc/rsyslog.d/')
+ end
+ end
end
-
- context "default usage (osfamily = FreeBSD)" do
- let(:title) { 'rsyslog-basic' }
-
- it 'should compile' do
- should contain_class('rsyslog::install')
- should contain_class('rsyslog::config')
- should contain_class('rsyslog::service')
+
+ context "osfamily = Debian" do
+ let :facts do
+ default_facts.merge!({
+ :osfamily => 'Debian',
+ })
+ end
+
+ context "default usage (osfamily = Debian)" do
+ let(:title) { 'rsyslog-basic' }
+
+ it 'should compile' do
+ should contain_file('/etc/rsyslog.conf')
+ should contain_file('/etc/rsyslog.d/')
+ end
end
end
- end
-
- context "osfamily = RedHat" do
- let :facts do
- {
- :osfamily => 'RedHat',
- :operatingsystem => 'RedHat',
- :operatingsystemmajrelease => 6,
- }
+
+ context "osfamily = FreeBSD" do
+ let :facts do
+ default_facts.merge!({
+ :osfamily => 'freebsd',
+ })
+ end
+
+ context "default usage (osfamily = Debian)" do
+ let(:title) { 'rsyslog-basic' }
+
+ it 'should compile' do
+ should contain_file('/etc/syslog.conf')
+ should contain_file('/etc/syslog.d/')
+ end
+ end
end
-
- context "default usage (osfamily = RedHat)" do
- let(:title) { 'rsyslog-basic' }
-
- it 'should compile' do
- should contain_file('/etc/rsyslog.conf')
- should contain_file('/etc/rsyslog.d/')
+
+ context "osfamily = RedHat" do
+ let :facts do
+ default_facts.merge!({
+ :osfamily => 'RedHat',
+ :operatingsystem => 'RedHat',
+ :operatingsystemmajrelease => 6,
+ })
+ end
+
+ context "default usage (osfamily = RedHat)" do
+ let(:title) { 'rsyslog-install-basic' }
+
+ it 'should compile' do
+ should contain_package('rsyslog')
+ should contain_package('rsyslog-relp')
+ end
end
end
- end
-
- context "osfamily = Debian" do
- let :facts do
- {
- :osfamily => 'Debian',
- }
+
+ context "osfamily = Debian" do
+ let :facts do
+ default_facts.merge!({
+ :osfamily => 'Debian',
+ })
+ end
+
+ context "default usage (osfamily = Debian)" do
+ let(:title) { 'rsyslog-install-basic' }
+
+ it 'should compile' do
+ should contain_package('rsyslog')
+ should contain_package('rsyslog-relp')
+ end
+ end
end
-
- context "default usage (osfamily = Debian)" do
- let(:title) { 'rsyslog-basic' }
-
- it 'should compile' do
- should contain_file('/etc/rsyslog.conf')
- should contain_file('/etc/rsyslog.d/')
+
+ context "osfamily = FreeBSD" do
+ let :facts do
+ default_facts.merge!({
+ :osfamily => 'freebsd',
+ })
+ end
+
+ context "default usage (osfamily = Debian)" do
+ let(:title) { 'rsyslog-install-basic' }
+
+ it 'should compile' do
+ should contain_package('sysutils/rsyslog5')
+ should contain_package('sysutils/rsyslog5-relp')
+ end
end
end
- end
-
- context "osfamily = FreeBSD" do
- let :facts do
- {
- :osfamily => 'freebsd',
- }
+
+ context "osfamily = RedHat" do
+ let :facts do
+ default_facts.merge!({
+ :osfamily => 'RedHat',
+ :operatingsystem => 'RedHat',
+ :operatingsystemmajrelease => 6,
+ })
+ end
+
+ context "default usage (osfamily = RedHat)" do
+ let(:title) { 'rsyslog-service-basic' }
+
+ it 'should compile' do
+ should contain_service('rsyslog')
+ end
+ end
end
-
- context "default usage (osfamily = Debian)" do
- let(:title) { 'rsyslog-basic' }
-
- it 'should compile' do
- should contain_file('/etc/syslog.conf')
- should contain_file('/etc/syslog.d/')
+
+ context "osfamily = Debian" do
+ let :facts do
+ default_facts.merge!({
+ :osfamily => 'Debian',
+ })
+ end
+
+ context "default usage (osfamily = Debian)" do
+ let(:title) { 'rsyslog-service-basic' }
+
+ it 'should compile' do
+ should contain_service('rsyslog')
+ end
+ end
+ end
+
+ context "osfamily = FreeBSD" do
+ let :facts do
+ default_facts.merge!({
+ :osfamily => 'freebsd',
+ })
+ end
+
+ context "default usage (osfamily = Debian)" do
+ let(:title) { 'rsyslog-service-basic' }
+
+ it 'should compile' do
+ should contain_service('syslogd')
+ end
end
end
end
- context "osfamily = RedHat" do
- let :facts do
+ context "Rsyslog version =< 8" do
+ let(:default_facts) do
{
- :osfamily => 'RedHat',
- :operatingsystem => 'RedHat',
- :operatingsystemmajrelease => 6,
+ :rsyslog_version => '7.1.2'
}
end
- context "default usage (osfamily = RedHat)" do
- let(:title) { 'rsyslog-install-basic' }
-
- it 'should compile' do
- should contain_package('rsyslog')
- should contain_package('rsyslog-relp')
+ context "osfamily = RedHat" do
+ let :facts do
+ default_facts.merge!({
+ :osfamily => 'RedHat',
+ :operatingsystem => 'RedHat',
+ :operatingsystemmajrelease => 6,
+ })
+ end
+
+ context "default usage (osfamily = RedHat)" do
+ let(:title) { 'rsyslog-basic' }
+
+ it 'should compile' do
+ should contain_class('rsyslog::install')
+ should contain_class('rsyslog::config')
+ should contain_class('rsyslog::service')
+ end
end
end
- end
-
- context "osfamily = Debian" do
- let :facts do
- {
- :osfamily => 'Debian',
- }
+
+ context "osfamily = Debian" do
+ let :facts do
+ default_facts.merge!({
+ :osfamily => 'Debian',
+ })
+ end
+
+ context "default usage (osfamily = Debian)" do
+ let(:title) { 'rsyslog-basic' }
+
+ it 'should compile' do
+ should contain_class('rsyslog::install')
+ should contain_class('rsyslog::config')
+ should contain_class('rsyslog::service')
+ end
+ end
end
-
- context "default usage (osfamily = Debian)" do
- let(:title) { 'rsyslog-install-basic' }
-
- it 'should compile' do
- should contain_package('rsyslog')
- should contain_package('rsyslog-relp')
+
+ context "osfamily = FreeBSD" do
+ let :facts do
+ default_facts.merge!({
+ :osfamily => 'freebsd',
+ })
+ end
+
+ context "default usage (osfamily = FreeBSD)" do
+ let(:title) { 'rsyslog-basic' }
+
+ it 'should compile' do
+ should contain_class('rsyslog::install')
+ should contain_class('rsyslog::config')
+ should contain_class('rsyslog::service')
+ end
end
end
- end
-
- context "osfamily = FreeBSD" do
- let :facts do
- {
- :osfamily => 'freebsd',
- }
+
+ context "osfamily = RedHat" do
+ let :facts do
+ default_facts.merge!({
+ :osfamily => 'RedHat',
+ :operatingsystem => 'RedHat',
+ :operatingsystemmajrelease => 6,
+ })
+ end
+
+ context "default usage (osfamily = RedHat)" do
+ let(:title) { 'rsyslog-basic' }
+
+ it 'should compile' do
+ should contain_file('/etc/rsyslog.conf')
+ should contain_file('/etc/rsyslog.d/')
+ end
+ end
end
-
- context "default usage (osfamily = Debian)" do
- let(:title) { 'rsyslog-install-basic' }
-
- it 'should compile' do
- should contain_package('sysutils/rsyslog5')
- should contain_package('sysutils/rsyslog5-relp')
+
+ context "osfamily = Debian" do
+ let :facts do
+ default_facts.merge!({
+ :osfamily => 'Debian',
+ })
+ end
+
+ context "default usage (osfamily = Debian)" do
+ let(:title) { 'rsyslog-basic' }
+
+ it 'should compile' do
+ should contain_file('/etc/rsyslog.conf')
+ should contain_file('/etc/rsyslog.d/')
+ end
end
end
- end
-
- context "osfamily = RedHat" do
- let :facts do
- {
- :osfamily => 'RedHat',
- :operatingsystem => 'RedHat',
- :operatingsystemmajrelease => 6,
- }
+
+ context "osfamily = FreeBSD" do
+ let :facts do
+ default_facts.merge!({
+ :osfamily => 'freebsd',
+ })
+ end
+
+ context "default usage (osfamily = Debian)" do
+ let(:title) { 'rsyslog-basic' }
+
+ it 'should compile' do
+ should contain_file('/etc/syslog.conf')
+ should contain_file('/etc/syslog.d/')
+ end
+ end
end
-
- context "default usage (osfamily = RedHat)" do
- let(:title) { 'rsyslog-service-basic' }
-
- it 'should compile' do
- should contain_service('rsyslog')
+
+ context "osfamily = RedHat" do
+ let :facts do
+ default_facts.merge!({
+ :osfamily => 'RedHat',
+ :operatingsystem => 'RedHat',
+ :operatingsystemmajrelease => 6,
+ })
+ end
+
+ context "default usage (osfamily = RedHat)" do
+ let(:title) { 'rsyslog-install-basic' }
+
+ it 'should compile' do
+ should contain_package('rsyslog')
+ should contain_package('rsyslog-relp')
+ end
end
end
- end
-
- context "osfamily = Debian" do
- let :facts do
- {
- :osfamily => 'Debian',
- }
+
+ context "osfamily = Debian" do
+ let :facts do
+ default_facts.merge!({
+ :osfamily => 'Debian',
+ })
+ end
+
+ context "default usage (osfamily = Debian)" do
+ let(:title) { 'rsyslog-install-basic' }
+
+ it 'should compile' do
+ should contain_package('rsyslog')
+ should contain_package('rsyslog-relp')
+ end
+ end
end
-
- context "default usage (osfamily = Debian)" do
- let(:title) { 'rsyslog-service-basic' }
-
- it 'should compile' do
- should contain_service('rsyslog')
+
+ context "osfamily = FreeBSD" do
+ let :facts do
+ default_facts.merge!({
+ :osfamily => 'freebsd',
+ })
+ end
+
+ context "default usage (osfamily = Debian)" do
+ let(:title) { 'rsyslog-install-basic' }
+
+ it 'should compile' do
+ should contain_package('sysutils/rsyslog5')
+ should contain_package('sysutils/rsyslog5-relp')
+ end
+ end
+ end
+
+ context "osfamily = RedHat" do
+ let :facts do
+ default_facts.merge!({
+ :osfamily => 'RedHat',
+ :operatingsystem => 'RedHat',
+ :operatingsystemmajrelease => 6,
+ })
+ end
+
+ context "default usage (osfamily = RedHat)" do
+ let(:title) { 'rsyslog-service-basic' }
+
+ it 'should compile' do
+ should contain_service('rsyslog')
+ end
+ end
+ end
+
+ context "osfamily = Debian" do
+ let :facts do
+ default_facts.merge!({
+ :osfamily => 'Debian',
+ })
+ end
+
+ context "default usage (osfamily = Debian)" do
+ let(:title) { 'rsyslog-service-basic' }
+
+ it 'should compile' do
+ should contain_service('rsyslog')
+ end
+ end
+ end
+
+ context "osfamily = FreeBSD" do
+ let :facts do
+ default_facts.merge!({
+ :osfamily => 'freebsd',
+ })
+ end
+
+ context "default usage (osfamily = Debian)" do
+ let(:title) { 'rsyslog-service-basic' }
+
+ it 'should compile' do
+ should contain_service('syslogd')
+ end
end
end
end
- context "osfamily = FreeBSD" do
- let :facts do
+ context "Rsyslog version >= 8" do
+ let(:default_facts) do
{
- :osfamily => 'freebsd',
+ :rsyslog_version => nil
}
end
- context "default usage (osfamily = Debian)" do
- let(:title) { 'rsyslog-service-basic' }
+ context "osfamily = RedHat" do
+ let :facts do
+ default_facts.merge!({
+ :osfamily => 'RedHat',
+ :operatingsystem => 'RedHat',
+ :operatingsystemmajrelease => 6,
+ })
+ end
- it 'should compile' do
- should contain_service('syslogd')
+ context "default usage (osfamily = RedHat)" do
+ it 'should compile' do
+ should contain_file('/etc/rsyslog.conf')
+ should contain_file('/etc/rsyslog.d/')
+ end
end
end
end
diff --git a/spec/defines/rsyslog_imfile_spec.rb b/spec/defines/rsyslog_imfile_spec.rb
index b2cfcf9..1c505eb 100644
--- a/spec/defines/rsyslog_imfile_spec.rb
+++ b/spec/defines/rsyslog_imfile_spec.rb
@@ -1,77 +1,169 @@
require 'spec_helper'
describe 'rsyslog::imfile', :type => :define do
- context "osfamily = RedHat" do
- let :facts do
+
+ context "Rsyslog version >= 8" do
+ let(:default_facts) do
{
- :osfamily => 'RedHat',
- :operatingsystem => 'RedHat',
- :operatingsystemmajrelease => 6,
+ :rsyslog_version => '8.1.2'
}
end
- let (:params) {
- {
- 'file_name' => 'mylogfile',
- 'file_tag' => 'mytag',
- 'file_facility' => 'myfacility',
+ context "osfamily = RedHat" do
+ let :facts do
+ default_facts.merge!({
+ :osfamily => 'RedHat',
+ :operatingsystem => 'RedHat',
+ :operatingsystemmajrelease => 6,
+ })
+ end
+
+ let (:params) {
+ {
+ 'file_name' => 'mylogfile',
+ 'file_tag' => 'mytag',
+ 'file_facility' => 'myfacility',
+ }
}
- }
- context "default usage (osfamily = RedHat)" do
- let(:title) { 'rsyslog-imfile-basic' }
+ context "default usage (osfamily = RedHat)" do
+ let(:title) { 'rsyslog-imfile-basic' }
- it 'should compile' do
- should contain_file('/etc/rsyslog.d/rsyslog-imfile-basic.conf')
+ it 'should compile' do
+ should contain_file('/etc/rsyslog.d/rsyslog-imfile-basic.conf')
+ end
end
end
- end
- context "osfamily = Debian" do
- let :facts do
- {
- :osfamily => 'Debian',
+ context "osfamily = Debian" do
+ let :facts do
+ default_facts.merge!({
+ :osfamily => 'Debian',
+ })
+ end
+
+ let (:params) {
+ {
+ 'file_name' => 'mylogfile',
+ 'file_tag' => 'mytag',
+ 'file_facility' => 'myfacility',
+ }
}
+
+ context "default usage (osfamily = Debian)" do
+ let(:title) { 'rsyslog-imfile-basic' }
+
+ it 'should compile' do
+ should contain_file('/etc/rsyslog.d/rsyslog-imfile-basic.conf')
+ end
+ end
end
- let (:params) {
- {
- 'file_name' => 'mylogfile',
- 'file_tag' => 'mytag',
- 'file_facility' => 'myfacility',
+ context "osfamily = FreeBSD" do
+ let :facts do
+ default_facts.merge!({
+ :osfamily => 'freebsd',
+ })
+ end
+
+ let (:params) {
+ {
+ 'file_name' => 'mylogfile',
+ 'file_tag' => 'mytag',
+ 'file_facility' => 'myfacility',
+ }
}
- }
- context "default usage (osfamily = Debian)" do
- let(:title) { 'rsyslog-imfile-basic' }
+ context "default usage (osfamily = Debian)" do
+ let(:title) { 'rsyslog-imfile-basic' }
- it 'should compile' do
- should contain_file('/etc/rsyslog.d/rsyslog-imfile-basic.conf')
+ it 'should compile' do
+ should contain_file('/etc/syslog.d/rsyslog-imfile-basic.conf')
+ end
end
end
end
- context "osfamily = FreeBSD" do
- let :facts do
+ context "Rsyslog version =< 8" do
+ let(:default_facts) do
{
- :osfamily => 'freebsd',
+ :rsyslog_version => '7.1.2'
}
end
- let (:params) {
- {
- 'file_name' => 'mylogfile',
- 'file_tag' => 'mytag',
- 'file_facility' => 'myfacility',
+ context "osfamily = RedHat" do
+ let :facts do
+ default_facts.merge!({
+ :osfamily => 'RedHat',
+ :operatingsystem => 'RedHat',
+ :operatingsystemmajrelease => 6,
+ })
+ end
+
+ let (:params) {
+ {
+ 'file_name' => 'mylogfile',
+ 'file_tag' => 'mytag',
+ 'file_facility' => 'myfacility',
+ }
}
- }
- context "default usage (osfamily = Debian)" do
- let(:title) { 'rsyslog-imfile-basic' }
+ context "default usage (osfamily = RedHat)" do
+ let(:title) { 'rsyslog-imfile-basic' }
- it 'should compile' do
- should contain_file('/etc/syslog.d/rsyslog-imfile-basic.conf')
+ it 'should compile' do
+ should contain_file('/etc/rsyslog.d/rsyslog-imfile-basic.conf')
+ end
+ end
+ end
+
+ context "osfamily = Debian" do
+ let :facts do
+ default_facts.merge!({
+ :osfamily => 'Debian',
+ })
+ end
+
+ let (:params) {
+ {
+ 'file_name' => 'mylogfile',
+ 'file_tag' => 'mytag',
+ 'file_facility' => 'myfacility',
+ }
+ }
+
+ context "default usage (osfamily = Debian)" do
+ let(:title) { 'rsyslog-imfile-basic' }
+
+ it 'should compile' do
+ should contain_file('/etc/rsyslog.d/rsyslog-imfile-basic.conf')
+ end
+ end
+ end
+
+ context "osfamily = FreeBSD" do
+ let :facts do
+ default_facts.merge!({
+ :osfamily => 'freebsd',
+ })
+ end
+
+ let (:params) {
+ {
+ 'file_name' => 'mylogfile',
+ 'file_tag' => 'mytag',
+ 'file_facility' => 'myfacility',
+ }
+ }
+
+ context "default usage (osfamily = Debian)" do
+ let(:title) { 'rsyslog-imfile-basic' }
+
+ it 'should compile' do
+ should contain_file('/etc/syslog.d/rsyslog-imfile-basic.conf')
+ end
end
end
end
+
end
diff --git a/spec/defines/rsyslog_snippet_spec.rb b/spec/defines/rsyslog_snippet_spec.rb
index e04ad6a..6cc6883 100644
--- a/spec/defines/rsyslog_snippet_spec.rb
+++ b/spec/defines/rsyslog_snippet_spec.rb
@@ -1,71 +1,157 @@
require 'spec_helper'
describe 'rsyslog::snippet', :type => :define do
- context "osfamily = RedHat" do
- let :facts do
+
+ context "Rsyslog version >= 8" do
+ let(:default_facts) do
{
- :osfamily => 'RedHat',
- :operatingsystem => 'Redhat',
- :operatingsystemmajrelease => 6,
+ :rsyslog_version => '8.1.2'
}
end
- let (:params) {
- {
- 'content' => 'Random Content',
+ context "osfamily = RedHat" do
+ let :facts do
+ default_facts.merge!({
+ :osfamily => 'RedHat',
+ :operatingsystem => 'Redhat',
+ :operatingsystemmajrelease => 6,
+ })
+ end
+
+ let (:params) {
+ {
+ 'content' => 'Random Content',
+ }
}
- }
- context "default usage (osfamily = RedHat)" do
- let(:title) { 'rsyslog-snippet-basic' }
+ context "default usage (osfamily = RedHat)" do
+ let(:title) { 'rsyslog-snippet-basic' }
- it 'should compile' do
- should contain_file('/etc/rsyslog.d/rsyslog-snippet-basic.conf').with_content("# This file is managed by Puppet, changes may be overwritten\nRandom Content\n")
+ it 'should compile' do
+ should contain_file('/etc/rsyslog.d/rsyslog-snippet-basic.conf').with_content("# This file is managed by Puppet, changes may be overwritten\nRandom Content\n")
+ end
end
end
- end
- context "osfamily = Debian" do
- let :facts do
- {
- :osfamily => 'Debian',
+ context "osfamily = Debian" do
+ let :facts do
+ default_facts.merge!({
+ :osfamily => 'Debian',
+ })
+ end
+
+ let (:params) {
+ {
+ 'content' => 'Random Content',
+ }
}
+
+ context "default usage (osfamily = Debian)" do
+ let(:title) { 'rsyslog-snippet-basic' }
+
+ it 'should compile' do
+ should contain_file('/etc/rsyslog.d/rsyslog-snippet-basic.conf').with_content("# This file is managed by Puppet, changes may be overwritten\nRandom Content\n")
+ end
+ end
end
- let (:params) {
- {
- 'content' => 'Random Content',
+ context "osfamily = FreeBSD" do
+ let :facts do
+ default_facts.merge!({
+ :osfamily => 'freebsd',
+ })
+ end
+
+ let (:params) {
+ {
+ 'content' => 'Random Content',
+ }
}
- }
- context "default usage (osfamily = Debian)" do
- let(:title) { 'rsyslog-snippet-basic' }
+ context "default usage (osfamily = Debian)" do
+ let(:title) { 'rsyslog-snippet-basic' }
- it 'should compile' do
- should contain_file('/etc/rsyslog.d/rsyslog-snippet-basic.conf').with_content("# This file is managed by Puppet, changes may be overwritten\nRandom Content\n")
+ it 'should compile' do
+ should contain_file('/etc/syslog.d/rsyslog-snippet-basic.conf').with_content("# This file is managed by Puppet, changes may be overwritten\nRandom Content\n")
+ end
end
end
end
- context "osfamily = FreeBSD" do
- let :facts do
+ context "Rsyslog version =< 8" do
+ let(:default_facts) do
{
- :osfamily => 'freebsd',
+ :rsyslog_version => '7.1.2'
}
end
- let (:params) {
- {
- 'content' => 'Random Content',
+ context "osfamily = RedHat" do
+ let :facts do
+ default_facts.merge!({
+ :osfamily => 'RedHat',
+ :operatingsystem => 'Redhat',
+ :operatingsystemmajrelease => 6,
+ })
+ end
+
+ let (:params) {
+ {
+ 'content' => 'Random Content',
+ }
}
- }
- context "default usage (osfamily = Debian)" do
- let(:title) { 'rsyslog-snippet-basic' }
+ context "default usage (osfamily = RedHat)" do
+ let(:title) { 'rsyslog-snippet-basic' }
- it 'should compile' do
- should contain_file('/etc/syslog.d/rsyslog-snippet-basic.conf').with_content("# This file is managed by Puppet, changes may be overwritten\nRandom Content\n")
+ it 'should compile' do
+ should contain_file('/etc/rsyslog.d/rsyslog-snippet-basic.conf').with_content("# This file is managed by Puppet, changes may be overwritten\nRandom Content\n")
+ end
+ end
+ end
+
+ context "osfamily = Debian" do
+ let :facts do
+ default_facts.merge!({
+ :osfamily => 'Debian',
+ })
+ end
+
+ let (:params) {
+ {
+ 'content' => 'Random Content',
+ }
+ }
+
+ context "default usage (osfamily = Debian)" do
+ let(:title) { 'rsyslog-snippet-basic' }
+
+ it 'should compile' do
+ should contain_file('/etc/rsyslog.d/rsyslog-snippet-basic.conf').with_content("# This file is managed by Puppet, changes may be overwritten\nRandom Content\n")
+ end
+ end
+ end
+
+ context "osfamily = FreeBSD" do
+ let :facts do
+ default_facts.merge!({
+ :osfamily => 'freebsd',
+ })
+ end
+
+ let (:params) {
+ {
+ 'content' => 'Random Content',
+ }
+ }
+
+ context "default usage (osfamily = Debian)" do
+ let(:title) { 'rsyslog-snippet-basic' }
+
+ it 'should compile' do
+ should contain_file('/etc/syslog.d/rsyslog-snippet-basic.conf').with_content("# This file is managed by Puppet, changes may be overwritten\nRandom Content\n")
+ end
end
end
end
+
end
diff --git a/templates/client.conf.erb b/templates/client.conf.erb
index c10512c..c05ae79 100644
--- a/templates/client.conf.erb
+++ b/templates/client.conf.erb
@@ -72,9 +72,9 @@ $ActionSendStreamDriverAuthMode anon
# Log to remote syslog server using <%= scope.lookupvar('rsyslog::client::remote_type') %>
<% if scope.lookupvar('rsyslog::client::remote_type') == 'tcp' -%>
-*.* @@<%= scope.lookupvar('rsyslog::client::server') -%>:<%= scope.lookupvar('rsyslog::client::port') -%>;RSYSLOG_ForwardFormat
+*.* @@<%= scope.lookupvar('rsyslog::client::server') -%>:<%= scope.lookupvar('rsyslog::client::port') -%>;<%= scope.lookupvar('remote_forward_format') -%>
<% else -%>
-*.* @<%= scope.lookupvar('rsyslog::client::server') -%>:<%= scope.lookupvar('rsyslog::client::port') -%>;RSYSLOG_ForwardFormat
+*.* @<%= scope.lookupvar('rsyslog::client::server') -%>:<%= scope.lookupvar('rsyslog::client::port') -%>;<%= scope.lookupvar('remote_forward_format') -%>
<% end -%>
<% end -%>
<% if scope.lookupvar('rsyslog::client::log_auth_local') or scope.lookupvar('rsyslog::client::log_local') -%>
@@ -165,7 +165,11 @@ mail.* -/var/log/maillog
cron.* /var/log/cron
# Everybody gets emergency messages
-*.emerg *
+<% if @rsyslog_version and @rsyslog_version.split('.')[0].to_i >= 8 -%>
+*.emerg :omusrmsg:*
+<% else -%>
+*.emerg *
+<% end -%>
# Save news errors of level crit and higher in a special file.
uucp,news.crit -/var/log/spooler
diff --git a/templates/rsyslog.conf.erb b/templates/rsyslog.conf.erb
index 097df0c..1e5e1f6 100644
--- a/templates/rsyslog.conf.erb
+++ b/templates/rsyslog.conf.erb
@@ -35,4 +35,8 @@ $IncludeConfig <%= scope.lookupvar('rsyslog::rsyslog_d') -%>*.conf
#
# Emergencies are sent to everybody logged in.
#
+<% if @rsyslog_version and @rsyslog_version.split('.')[0].to_i >= 8 -%>
+*.emerg :omusrmsg:*
+<% else -%>
*.emerg *
+<% end -%>