From c4f9160f135243f305669e1a731812dd6c3573de Mon Sep 17 00:00:00 2001 From: varac Date: Thu, 10 Mar 2016 17:19:52 +0100 Subject: Improve relationship of nagios resources --- manifests/base.pp | 7 ++++--- manifests/debian.pp | 9 +++++++-- manifests/defaults/pnp4nagios.pp | 10 +++++++--- manifests/pnp4nagios.pp | 25 ++++++++++++++----------- manifests/pnp4nagios/popup.pp | 27 ++++++++++++++++----------- 5 files changed, 48 insertions(+), 30 deletions(-) diff --git a/manifests/base.pp b/manifests/base.pp index 1ba0679..e49b9c8 100644 --- a/manifests/base.pp +++ b/manifests/base.pp @@ -69,9 +69,9 @@ class nagios::base { if $cfg_dir == '/etc/nagios3' { file{'/etc/nagios': - ensure => link, - target => $cfg_dir, - require => Package['nagios'], + ensure => link, + target => $cfg_dir, + before => File['nagios_cfgdir'], } } @@ -94,6 +94,7 @@ class nagios::base { ensure => file, replace => false, notify => Service['nagios'], + require => File['nagios_cfgdir'], owner => root, group => 0, mode => '0644'; diff --git a/manifests/debian.pp b/manifests/debian.pp index 9b1f7e7..39af973 100644 --- a/manifests/debian.pp +++ b/manifests/debian.pp @@ -21,11 +21,13 @@ class nagios::debian inherits nagios::base { notify => Service['nagios'], owner => root, group => root, - mode => '0644'; + mode => '0644', + require => Package['nagios']; "${nagios::defaults::vars::int_cfgdir}/stylesheets": ensure => directory, purge => false, - recurse => true; + recurse => true, + require => Package['nagios']; } if $nagios::allow_external_cmd { @@ -34,16 +36,19 @@ class nagios::debian inherits nagios::base { unless => 'dpkg-statoverride --list nagios www-data 2710 /var/lib/nagios3/rw && dpkg-statoverride --list nagios nagios 751 /var/lib/nagios3', logoutput => false, notify => Service['nagios'], + require => Package['nagios'], } exec { 'nagios_external_cmd_perms_1': command => 'chmod 0751 /var/lib/nagios3 && chown nagios:nagios /var/lib/nagios3', unless => 'test "`stat -c "%a %U %G" /var/lib/nagios3`" = "751 nagios nagios"', notify => Service['nagios'], + require => Package['nagios'], } exec { 'nagios_external_cmd_perms_2': command => 'chmod 2751 /var/lib/nagios3/rw && chown nagios:www-data /var/lib/nagios3/rw', unless => 'test "`stat -c "%a %U %G" /var/lib/nagios3/rw`" = "2751 nagios www-data"', notify => Service['nagios'], + require => Package['nagios'], } } } diff --git a/manifests/defaults/pnp4nagios.pp b/manifests/defaults/pnp4nagios.pp index 662d13b..58676c5 100644 --- a/manifests/defaults/pnp4nagios.pp +++ b/manifests/defaults/pnp4nagios.pp @@ -1,10 +1,14 @@ +# configure default cmds for pnp4nagios class nagios::defaults::pnp4nagios { - # performance data cmds + + # performance data cmds # http://docs.pnp4nagios.org/de/pnp-0.6/config#bulk_mode_mit_npcd nagios_command { 'process-service-perfdata-file-pnp4nagios-bulk-npcd': - command_line => '/bin/mv /var/lib/nagios3/service-perfdata /var/spool/pnp4nagios/npcd/service-perfdata.$TIMET$'; + command_line => '/bin/mv /var/lib/nagios3/service-perfdata /var/spool/pnp4nagios/npcd/service-perfdata.$TIMET$', + require => Package['nagios']; 'process-host-perfdata-file-pnp4nagios-bulk-npcd': - command_line => '/bin/mv /var/lib/nagios3/host-perfdata /var/spool/pnp4nagios/npcd/host-perfdata.$TIMET$' + command_line => '/bin/mv /var/lib/nagios3/host-perfdata /var/spool/pnp4nagios/npcd/host-perfdata.$TIMET$', + require => Package['nagios']; } } diff --git a/manifests/pnp4nagios.pp b/manifests/pnp4nagios.pp index a7e1c73..32c9a33 100644 --- a/manifests/pnp4nagios.pp +++ b/manifests/pnp4nagios.pp @@ -18,6 +18,7 @@ class nagios::pnp4nagios { owner => root, group => root, notify => Service['nagios'], + require => Package['nagios']; } file { 'apache.conf': @@ -28,19 +29,20 @@ class nagios::pnp4nagios { owner => root, group => root, notify => Service['apache'], - require => Package['pnp4nagios'], + require => [ Package['apache2'], Package['pnp4nagios'] ], } # run npcd as daemon file { '/etc/default/npcd': - path => '/etc/default/npcd', - source => [ 'puppet:///modules/site_nagios/pnp4nagios/npcd', + path => '/etc/default/npcd', + source => [ 'puppet:///modules/site_nagios/pnp4nagios/npcd', 'puppet:///modules/nagios/pnp4nagios/npcd' ], - mode => '0644', - owner => root, - group => root, - notify => Service['npcd']; + mode => '0644', + owner => root, + group => root, + notify => Service['npcd'], + require => [ Package['nagios'], Package['pnp4nagios'] ]; } service { 'npcd': @@ -56,9 +58,10 @@ class nagios::pnp4nagios { path => '/usr/share/nagios3/htdocs/images/action.gif', source => [ 'puppet:///modules/site_nagios/pnp4nagios/action.gif', 'puppet:///modules/nagios/pnp4nagios/action.gif' ], - mode => '0644', - owner => root, - group => root, - notify => Service['nagios']; + mode => '0644', + owner => root, + group => root, + notify => Service['nagios'], + require => Package['nagios']; } } diff --git a/manifests/pnp4nagios/popup.pp b/manifests/pnp4nagios/popup.pp index 0dc04b0..91136cc 100644 --- a/manifests/pnp4nagios/popup.pp +++ b/manifests/pnp4nagios/popup.pp @@ -1,19 +1,24 @@ -class nagios::pnp4nagios::popup inherits nagios::pnp4nagios { +class nagios::pnp4nagios::popup inherits nagios::pnp4nagios { File['pnp4nagios-templates.cfg']{ - source => [ 'puppet:///modules/site_nagios/pnp4nagios/pnp4nagios-popup-templates.cfg', - 'puppet:///modules/nagios/pnp4nagios/pnp4nagios-popup-templates.cfg' ], + source => [ + 'puppet:///modules/site-nagios/pnp4nagios/pnp4nagios-popup-templates.cfg', + 'puppet:///modules/nagios/pnp4nagios/pnp4nagios-popup-templates.cfg' ], } file { '/usr/share/nagios3/htdocs/ssi': - ensure => directory } + ensure => directory, + require => Package['nagios'], + } file { 'status-header.ssi': - path => '/usr/share/nagios3/htdocs/ssi/status-header.ssi', - source => [ 'puppet:///modules/site_nagios/pnp4nagios/status-header.ssi', - 'puppet:///modules/nagios/pnp4nagios/status-header.ssi' ], - mode => '0644', - owner => root, - group => root, - notify => Service['nagios'], + path => '/usr/share/nagios3/htdocs/ssi/status-header.ssi', + source => [ + 'puppet:///modules/site-nagios/pnp4nagios/status-header.ssi', + 'puppet:///modules/nagios/pnp4nagios/status-header.ssi'], + mode => '0644', + owner => root, + group => root, + notify => Service['nagios'], + require => Package['nagios'], } } -- cgit v1.2.3