From a726b4045442fe2219353fb983d650fcd94b13be Mon Sep 17 00:00:00 2001 From: Mathieu Bornoz Date: Mon, 29 Apr 2013 12:33:46 +0200 Subject: rsyslog: make all module params configurable + support false for *_package_name variables. This is useful if relp support is not necessary as it happens that no packages exist for RedHat < 6. All these changes should be fully backward compatible. --- manifests/client.pp | 4 ++-- manifests/config.pp | 21 ++++++++++----------- manifests/database.pp | 10 +++++----- manifests/imfile.pp | 6 ++---- manifests/init.pp | 22 +++++++++++++++++++++- manifests/install.pp | 15 +++++++++------ manifests/server.pp | 4 ++-- manifests/service.pp | 6 ++---- manifests/snippet.pp | 6 +++--- 9 files changed, 56 insertions(+), 38 deletions(-) (limited to 'manifests') diff --git a/manifests/client.pp b/manifests/client.pp index 39edd31..dcad059 100644 --- a/manifests/client.pp +++ b/manifests/client.pp @@ -38,10 +38,10 @@ class rsyslog::client ( default => template($custom_config), } - file { $rsyslog::params::client_conf: + file { $rsyslog::client_conf: ensure => present, owner => root, - group => $rsyslog::params::run_group, + group => $rsyslog::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..2d075d3 100644 --- a/manifests/server.pp +++ b/manifests/server.pp @@ -39,10 +39,10 @@ class rsyslog::server ( default => template($custom_config), } - file { $rsyslog::params::server_conf: + file { $rsyslog::server_conf: ensure => present, owner => 'root', - group => $rsyslog::params::run_group, + group => $rsyslog::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'], -- cgit v1.2.3 From abc3074cccb80c73b468bf96d19fbe42414e8d1e Mon Sep 17 00:00:00 2001 From: Mathieu Bornoz Date: Mon, 29 Apr 2013 12:37:13 +0200 Subject: use rsyslog::snippet for client and server configs Doesn't feature any functional change, but it seems cleaner to use that definition to avoid repeating dependencies and paths. --- manifests/client.pp | 9 +++------ manifests/server.pp | 6 +----- 2 files changed, 4 insertions(+), 11 deletions(-) (limited to 'manifests') diff --git a/manifests/client.pp b/manifests/client.pp index dcad059..624dfe8 100644 --- a/manifests/client.pp +++ b/manifests/client.pp @@ -38,12 +38,9 @@ class rsyslog::client ( default => template($custom_config), } - file { $rsyslog::client_conf: + rsyslog::snippet {'client': ensure => present, - owner => root, - group => $rsyslog::run_group, content => $content_real, - require => Class['rsyslog::config'], - notify => Class['rsyslog::service'], - } + } + } diff --git a/manifests/server.pp b/manifests/server.pp index 2d075d3..f1f3260 100644 --- a/manifests/server.pp +++ b/manifests/server.pp @@ -39,12 +39,8 @@ class rsyslog::server ( default => template($custom_config), } - file { $rsyslog::server_conf: + rsyslog::snippet {'server': ensure => present, - owner => 'root', - group => $rsyslog::run_group, content => $real_content, - require => Class['rsyslog::config'], - notify => Class['rsyslog::service'], } } -- cgit v1.2.3