diff options
author | Steffen Zieger <me@saz.sh> | 2013-05-10 05:26:58 -0700 |
---|---|---|
committer | Steffen Zieger <me@saz.sh> | 2013-05-10 05:26:58 -0700 |
commit | 962798488db91310b11b257c0c8b797c0236380d (patch) | |
tree | 712a67b57d5b380cb8fe1a0a6062e063ac575a20 | |
parent | 08c49965861137ae79620c7ca82af572f0ef024f (diff) | |
parent | 5c4812a4f44417d398ccc39cb28593b3df3ab9f4 (diff) |
Merge pull request #30 from mbornoz/improvements
Improvements
-rw-r--r-- | .gemfile | 6 | ||||
-rw-r--r-- | .travis.yml | 24 | ||||
-rw-r--r-- | Gemfile | 14 | ||||
-rw-r--r-- | manifests/client.pp | 9 | ||||
-rw-r--r-- | manifests/config.pp | 21 | ||||
-rw-r--r-- | manifests/database.pp | 10 | ||||
-rw-r--r-- | manifests/imfile.pp | 6 | ||||
-rw-r--r-- | manifests/init.pp | 22 | ||||
-rw-r--r-- | manifests/install.pp | 15 | ||||
-rw-r--r-- | manifests/server.pp | 6 | ||||
-rw-r--r-- | manifests/service.pp | 6 | ||||
-rw-r--r-- | manifests/snippet.pp | 6 | ||||
-rw-r--r-- | spec/classes/rsyslog_config_spec.rb | 54 | ||||
-rw-r--r-- | spec/classes/rsyslog_install_spec.rb | 54 | ||||
-rw-r--r-- | spec/classes/rsyslog_service_spec.rb | 51 | ||||
-rw-r--r-- | spec/classes/rsyslog_spec.rb | 150 | ||||
-rw-r--r-- | spec/fixtures/.gitignore | 1 | ||||
-rw-r--r-- | spec/fixtures/manifests/site.pp | 3 | ||||
-rw-r--r-- | templates/client.conf.erb | 10 | ||||
-rw-r--r-- | templates/rsyslog.conf.erb | 18 |
20 files changed, 250 insertions, 236 deletions
diff --git a/.gemfile b/.gemfile deleted file mode 100644 index ad77760..0000000 --- a/.gemfile +++ /dev/null @@ -1,6 +0,0 @@ -source :rubygems - -puppetversion = ENV.key?('PUPPET_VERSION') ? "= #{ENV['PUPPET_VERSION']}" : ['>= 2.7'] -gem 'puppet', puppetversion -gem 'puppetlabs_spec_helper', '>= 0.1.0' -gem 'puppet-lint' diff --git a/.travis.yml b/.travis.yml index 37e322a..6d7c0f8 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,17 +1,15 @@ language: ruby rvm: - 1.8.7 -before_script: -after_script: -script: "rake spec" -branches: - only: - - master + - 1.9.3 + - 2.0.0 + - ruby-head env: - - PUPPET_VERSION=2.7.13 - - PUPPET_VERSION=2.7.6 - - PUPPET_VERSION=2.6.9 - - PUPPET_VERSION=3.0.0 -notifications: - email: false -gemfile: .gemfile + - PUPPET_GEM_VERSION=">= 3.0.0" +matrix: + allow_failures: + - rvm: 2.0.0 + - rvm: ruby-head + include: + - rvm: 1.8.7 + env: PUPPET_GEM_VERSION="~> 2.7" @@ -0,0 +1,14 @@ +source :rubygems + +if ENV.key?('PUPPET_VERSION') + puppetversion = "= #{ENV['PUPPET_VERSION']}" +else + puppetversion = ['>= 2.7'] +end + +gem 'rake' +gem 'puppet-lint' +gem 'rspec-puppet' +gem 'puppet', puppetversion +gem 'puppetlabs_spec_helper', '>= 0.4.0' + diff --git a/manifests/client.pp b/manifests/client.pp index 39edd31..624dfe8 100644 --- a/manifests/client.pp +++ b/manifests/client.pp @@ -38,12 +38,9 @@ class rsyslog::client ( default => template($custom_config), } - file { $rsyslog::params::client_conf: + rsyslog::snippet {'client': ensure => present, - owner => root, - group => $rsyslog::params::run_group, content => $content_real, - require => Class['rsyslog::config'], - notify => Class['rsyslog::service'], - } + } + } diff --git a/manifests/config.pp b/manifests/config.pp index 31b95bd..d7fbbe6 100644 --- a/manifests/config.pp +++ b/manifests/config.pp @@ -10,40 +10,39 @@ # # class { 'rsyslog::config': } # -class rsyslog::config inherits rsyslog::params { - - file { $rsyslog::params::rsyslog_d: +class rsyslog::config { + file { $rsyslog::rsyslog_d: ensure => directory, owner => 'root', - group => $rsyslog::params::run_group, - purge => $rsyslog::params::purge_rsyslog_d, + group => $rsyslog::run_group, + purge => $rsyslog::purge_rsyslog_d, recurse => true, force => true, require => Class['rsyslog::install'], } - file { $rsyslog::params::rsyslog_conf: + file { $rsyslog::rsyslog_conf: ensure => file, owner => 'root', - group => $rsyslog::params::run_group, + group => $rsyslog::run_group, content => template("${module_name}/rsyslog.conf.erb"), require => Class['rsyslog::install'], notify => Class['rsyslog::service'], } - file { $rsyslog::params::rsyslog_default: + file { $rsyslog::rsyslog_default: ensure => file, owner => 'root', - group => $rsyslog::params::run_group, + group => $rsyslog::run_group, source => 'puppet:///modules/rsyslog/rsyslog_default', require => Class['rsyslog::install'], notify => Class['rsyslog::service'], } - file { $rsyslog::params::spool_dir: + file { $rsyslog::spool_dir: ensure => directory, owner => 'root', - group => $rsyslog::params::run_group, + group => $rsyslog::run_group, require => Class['rsyslog::install'], notify => Class['rsyslog::service'], } diff --git a/manifests/database.pp b/manifests/database.pp index b406bba..fe6d6ac 100644 --- a/manifests/database.pp +++ b/manifests/database.pp @@ -31,23 +31,23 @@ class rsyslog::database ( ) inherits rsyslog { $db_module = "om${backend}" - $db_conf = "${rsyslog::params::rsyslog_d}${backend}.conf" + $db_conf = "${rsyslog::rsyslog_d}${backend}.conf" case $backend { - mysql: { $db_package = $rsyslog::params::mysql_package_name } - pgsql: { $db_package = $rsyslog::params::pgsql_package_name } + mysql: { $db_package = $rsyslog::mysql_package_name } + pgsql: { $db_package = $rsyslog::pgsql_package_name } default: { fail("Unsupported backend: ${backend}. Only MySQL (mysql) and PostgreSQL (pgsql) are supported.") } } package { $db_package: - ensure => $rsyslog::params::package_status, + ensure => $rsyslog::package_status, before => File[$db_conf], } file { $db_conf: ensure => present, owner => 'root', - group => $rsyslog::params::run_group, + group => $rsyslog::run_group, mode => '0600', content => template("${module_name}/database.conf.erb"), require => Class['rsyslog::config'], diff --git a/manifests/imfile.pp b/manifests/imfile.pp index c4308d7..5127a5c 100644 --- a/manifests/imfile.pp +++ b/manifests/imfile.pp @@ -30,12 +30,10 @@ define rsyslog::imfile( $run_file_monitor = true ) { - include rsyslog::params - - file { "${rsyslog::params::rsyslog_d}${name}.conf": + file { "${rsyslog::rsyslog_d}${name}.conf": ensure => file, owner => 'root', - group => $rsyslog::params::run_group, + group => $rsyslog::run_group, content => template('rsyslog/imfile.erb'), require => Class['rsyslog::install'], notify => Class['rsyslog::service'], diff --git a/manifests/init.pp b/manifests/init.pp index 2f9b015..201a4a1 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -10,7 +10,27 @@ # # class { 'rsyslog': } # -class rsyslog { +class rsyslog ( + $rsyslog_package_name = $rsyslog::params::rsyslog_package_name, + $relp_package_name = $rsyslog::params::relp_package_name, + $mysql_package_name = $rsyslog::params::mysql_package_name, + $pgsql_package_name = $rsyslog::params::pgsql_package_name, + $package_status = $rsyslog::params::package_status, + $rsyslog_d = $rsyslog::params::rsyslog_d, + $rsyslog_conf = $rsyslog::params::rsyslog_conf, + $rsyslog_default = $rsyslog::params::rsyslog_default, + $run_user = $rsyslog::params::run_user, + $run_group = $rsyslog::params::run_group, + $log_user = $rsyslog::params::log_user, + $log_group = $rsyslog::params::log_group, + $log_style = $rsyslog::params::log_style, + $perm_file = $rsyslog::params::perm_file, + $perm_dir = $rsyslog::params::perm_dir, + $spool_dir = $rsyslog::params::spool_dir, + $service_name = $rsyslog::params::service_name, + $client_conf = $rsyslog::params::client_conf, + $server_conf = $rsyslog::params::server_conf, +) inherits rsyslog::params { class { 'rsyslog::install': } class { 'rsyslog::config': } class { 'rsyslog::service': } diff --git a/manifests/install.pp b/manifests/install.pp index 7d09405..3e9ad1a 100644 --- a/manifests/install.pp +++ b/manifests/install.pp @@ -10,14 +10,17 @@ # # class { 'rsyslog::install': } # -class rsyslog::install inherits rsyslog::params { - - package { $rsyslog::params::rsyslog_package_name: - ensure => $rsyslog::params::package_status, +class rsyslog::install { + if $rsyslog::rsyslog_package_name != false { + package { $rsyslog::rsyslog_package_name: + ensure => $rsyslog::package_status, + } } - package { $rsyslog::params::relp_package_name: - ensure => $rsyslog::params::package_status + if $rsyslog::relp_package_name != false { + package { $rsyslog::relp_package_name: + ensure => $rsyslog::package_status + } } } diff --git a/manifests/server.pp b/manifests/server.pp index fdc911f..f1f3260 100644 --- a/manifests/server.pp +++ b/manifests/server.pp @@ -39,12 +39,8 @@ class rsyslog::server ( default => template($custom_config), } - file { $rsyslog::params::server_conf: + rsyslog::snippet {'server': ensure => present, - owner => 'root', - group => $rsyslog::params::run_group, content => $real_content, - require => Class['rsyslog::config'], - notify => Class['rsyslog::service'], } } diff --git a/manifests/service.pp b/manifests/service.pp index 9826b4a..33623d1 100644 --- a/manifests/service.pp +++ b/manifests/service.pp @@ -10,12 +10,10 @@ # # class { 'rsyslog::service': } # -class rsyslog::service inherits rsyslog::params { - - service { $rsyslog::params::service_name: +class rsyslog::service { + service { $rsyslog::service_name: ensure => running, enable => true, require => Class['rsyslog::config'], } - } diff --git a/manifests/snippet.pp b/manifests/snippet.pp index 79f225e..26cfa76 100644 --- a/manifests/snippet.pp +++ b/manifests/snippet.pp @@ -22,10 +22,10 @@ define rsyslog::snippet( include rsyslog - file { "${rsyslog::params::rsyslog_d}${name}.conf": + file { "${rsyslog::rsyslog_d}${name}.conf": ensure => $ensure, - owner => $rsyslog::params::run_user, - group => $rsyslog::params::run_group, + owner => $rsyslog::run_user, + group => $rsyslog::run_group, content => "${content}\n", require => Class['rsyslog::config'], notify => Class['rsyslog::service'], diff --git a/spec/classes/rsyslog_config_spec.rb b/spec/classes/rsyslog_config_spec.rb deleted file mode 100644 index 640da2d..0000000 --- a/spec/classes/rsyslog_config_spec.rb +++ /dev/null @@ -1,54 +0,0 @@ -require 'spec_helper' - -describe 'rsyslog::config', :type => :class do - context "osfamily = RedHat" do - let :facts do - { - :osfamily => 'RedHat', - } - 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 "osfamily = Debian" do - let :facts do - { - :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 - - context "osfamily = FreeBSD" do - let :facts do - { - :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 -end diff --git a/spec/classes/rsyslog_install_spec.rb b/spec/classes/rsyslog_install_spec.rb deleted file mode 100644 index a1baea3..0000000 --- a/spec/classes/rsyslog_install_spec.rb +++ /dev/null @@ -1,54 +0,0 @@ -require 'spec_helper' - -describe 'rsyslog::install', :type => :class do - context "osfamily = RedHat" do - let :facts do - { - :osfamily => 'RedHat', - } - 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 - - context "osfamily = Debian" do - let :facts do - { - :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 "osfamily = FreeBSD" do - let :facts do - { - :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 diff --git a/spec/classes/rsyslog_service_spec.rb b/spec/classes/rsyslog_service_spec.rb deleted file mode 100644 index 411f8c1..0000000 --- a/spec/classes/rsyslog_service_spec.rb +++ /dev/null @@ -1,51 +0,0 @@ -require 'spec_helper' - -describe 'rsyslog::service', :type => :class do - context "osfamily = RedHat" do - let :facts do - { - :osfamily => 'RedHat', - } - 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 - { - :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 - { - :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 diff --git a/spec/classes/rsyslog_spec.rb b/spec/classes/rsyslog_spec.rb index d6a6bf7..1daf9aa 100644 --- a/spec/classes/rsyslog_spec.rb +++ b/spec/classes/rsyslog_spec.rb @@ -54,4 +54,154 @@ describe 'rsyslog', :type => :class do end end end + + context "osfamily = RedHat" do + let :facts do + { + :osfamily => 'RedHat', + } + 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 "osfamily = Debian" do + let :facts do + { + :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 + + context "osfamily = FreeBSD" do + let :facts do + { + :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 "osfamily = RedHat" do + let :facts do + { + :osfamily => 'RedHat', + } + 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 + + context "osfamily = Debian" do + let :facts do + { + :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 "osfamily = FreeBSD" do + let :facts do + { + :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 + { + :osfamily => 'RedHat', + } + 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 + { + :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 + { + :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 diff --git a/spec/fixtures/.gitignore b/spec/fixtures/.gitignore index d6b7ef3..a4e73f9 100644 --- a/spec/fixtures/.gitignore +++ b/spec/fixtures/.gitignore @@ -1,2 +1,3 @@ * +!manifests/site.pp !.gitignore diff --git a/spec/fixtures/manifests/site.pp b/spec/fixtures/manifests/site.pp new file mode 100644 index 0000000..56d4561 --- /dev/null +++ b/spec/fixtures/manifests/site.pp @@ -0,0 +1,3 @@ +node default { + include ::rsyslog +} diff --git a/templates/client.conf.erb b/templates/client.conf.erb index 9b6321b..e5dfb8c 100644 --- a/templates/client.conf.erb +++ b/templates/client.conf.erb @@ -1,7 +1,7 @@ # file is managed by puppet # An "In-Memory Queue" is created for remote logging. -$WorkDirectory <%= scope.lookupvar('rsyslog::params::spool_dir') -%> # where to place spool files +$WorkDirectory <%= scope.lookupvar('rsyslog::spool_dir') -%> # where to place spool files $ActionQueueFileName queue # unique name prefix for spool files $ActionQueueMaxDiskSpace <%= scope.lookupvar('rsyslog::client::spool_size') -%> # spool space limit (use as much as possible) $ActionQueueSaveOnShutdown on # save messages to disk on shutdown @@ -21,17 +21,17 @@ $ActionResumeRetryCount -1 # infinety retries if host is down # We log locally, restore to default format $ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat -<% if scope.lookupvar('rsyslog::params::log_style') == 'debian' -%> +<% if scope.lookupvar('rsyslog::log_style') == 'debian' -%> # Log auth messages locally auth,authpriv.* /var/log/auth.log -<% elsif scope.lookupvar('rsyslog::params::log_style') == 'redhat' -%> +<% elsif scope.lookupvar('rsyslog::log_style') == 'redhat' -%> # Log auth messages locally auth,authpriv.* /var/log/secure <% end -%> <% end -%> <% if scope.lookupvar('rsyslog::client::log_local') -%> -<% if scope.lookupvar('rsyslog::params::log_style') == 'debian' -%> +<% if scope.lookupvar('rsyslog::log_style') == 'debian' -%> # First some standard log files. Log by facility. # *.*;auth,authpriv.none -/var/log/syslog @@ -89,7 +89,7 @@ daemon.*;mail.*;\ news.err;\ *.=debug;*.=info;\ *.=notice;*.=warn |/dev/xconsole -<% elsif scope.lookupvar('rsyslog::params::log_style') == 'redhat' -%> +<% elsif scope.lookupvar('rsyslog::log_style') == 'redhat' -%> # Log all kernel messages to the console. # Logging much else clutters up the screen. #kern.* /dev/console diff --git a/templates/rsyslog.conf.erb b/templates/rsyslog.conf.erb index dd7e259..cf4e4ee 100644 --- a/templates/rsyslog.conf.erb +++ b/templates/rsyslog.conf.erb @@ -15,17 +15,19 @@ $ModLoad imklog # provides kernel logging support (previously done by rklogd) # # Set the default permissions for all log files. # -$FileOwner <%= scope.lookupvar('rsyslog::params::log_user') %> -$FileGroup <%= scope.lookupvar('rsyslog::params::log_group') %> -$FileCreateMode <%= scope.lookupvar('rsyslog::params::perm_file') %> -$DirCreateMode <%= scope.lookupvar('rsyslog::params::perm_dir') %> -$PrivDropToUser <%= scope.lookupvar('rsyslog::params::run_user') %> -$PrivDropToGroup <%= scope.lookupvar('rsyslog::params::run_group') %> +$FileOwner <%= scope.lookupvar('rsyslog::log_user') %> +$FileGroup <%= scope.lookupvar('rsyslog::log_group') %> +$FileCreateMode <%= scope.lookupvar('rsyslog::perm_file') %> +$DirOwner <%= scope.lookupvar('rsyslog::log_user') %> +$DirGroup <%= scope.lookupvar('rsyslog::log_group') %> +$DirCreateMode <%= scope.lookupvar('rsyslog::perm_dir') %> +$PrivDropToUser <%= scope.lookupvar('rsyslog::run_user') %> +$PrivDropToGroup <%= scope.lookupvar('rsyslog::run_group') %> # -# Include all config files in <%= scope.lookupvar('rsyslog::params::rsyslog_d') %> +# Include all config files in <%= scope.lookupvar('rsyslog::rsyslog_d') %> # -$IncludeConfig <%= scope.lookupvar('rsyslog::params::rsyslog_d') -%>*.conf +$IncludeConfig <%= scope.lookupvar('rsyslog::rsyslog_d') -%>*.conf # # Emergencies are sent to everybody logged in. |