diff options
author | Steffen Zieger <me@saz.sh> | 2014-07-13 13:45:08 +0200 |
---|---|---|
committer | Steffen Zieger <me@saz.sh> | 2014-07-13 13:45:08 +0200 |
commit | 35a2ac1537b5d905b5a551f6709994122f7c3294 (patch) | |
tree | ff711a2dbb45b8d7d8975778b11cf06d7544554b | |
parent | 67c7c501b916ebd1a27a8a218d49602339526c4f (diff) | |
parent | eb7c36ae207abbff4a5121dfff8456e3609df45f (diff) |
Merge pull request #87 from yasn77/master
Add parameter 'v8plus' for rsyslog version 8+
-rw-r--r-- | lib/facter/rsyslog_version.rb | 8 | ||||
-rw-r--r-- | spec/classes/rsyslog_client_spec.rb | 119 | ||||
-rw-r--r-- | spec/classes/rsyslog_database_spec.rb | 351 | ||||
-rw-r--r-- | spec/classes/rsyslog_server_spec.rb | 182 | ||||
-rw-r--r-- | spec/classes/rsyslog_spec.rb | 562 | ||||
-rw-r--r-- | spec/defines/rsyslog_imfile_spec.rb | 178 | ||||
-rw-r--r-- | spec/defines/rsyslog_snippet_spec.rb | 160 | ||||
-rw-r--r-- | templates/client.conf.erb | 6 | ||||
-rw-r--r-- | templates/rsyslog.conf.erb | 4 |
9 files changed, 1159 insertions, 411 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/spec/classes/rsyslog_client_spec.rb b/spec/classes/rsyslog_client_spec.rb index b05b416..52f933b 100644 --- a/spec/classes/rsyslog_client_spec.rb +++ b/spec/classes/rsyslog_client_spec.rb @@ -1,52 +1,119 @@ 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') + it 'should compile' do + should contain_file('/etc/rsyslog.d/client.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 + + 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 "default usage (osfamily = Debian)" do - let(:title) { 'rsyslog-client-basic' } + 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 = 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 = 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/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') + it 'should compile' do + should contain_file('/etc/syslog.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..308ccf9 100644 --- a/spec/classes/rsyslog_spec.rb +++ b/spec/classes/rsyslog_spec.rb @@ -1,215 +1,445 @@ 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 - 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-service-basic' } - - it 'should compile' do - should contain_service('syslogd') + + 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 + 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 bb40627..d72e080 100644 --- a/templates/client.conf.erb +++ b/templates/client.conf.erb @@ -165,7 +165,11 @@ mail.* -/var/log/maillog cron.* /var/log/cron # Everybody gets emergency messages -*.emerg * +<% if @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..446c91e 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.split('.')[0].to_i >= 8 -%> +*.emerg :omusrmsg:* +<% else -%> *.emerg * +<% end -%> |