From 7afc1a3569b2f1ec7ed0b1c26bf646b0b2b059f3 Mon Sep 17 00:00:00 2001 From: Ossi Salmi Date: Thu, 15 Sep 2016 11:14:52 +0300 Subject: [PATCH] abusesa::recorder: Add parameter to disable services management --- abusesa/manifests/recorder.pp | 76 +++++++++++++++++++++-------------- 1 file changed, 45 insertions(+), 31 deletions(-) diff --git a/abusesa/manifests/recorder.pp b/abusesa/manifests/recorder.pp index c86f9d8..1296561 100644 --- a/abusesa/manifests/recorder.pp +++ b/abusesa/manifests/recorder.pp @@ -135,6 +135,9 @@ class abusesa::recorder( # $remote: # Enable remote. Defaults to true. # +# $services: +# Manage probe and remote services. Defaults to true. +# # === Sample usage # # abusesa::recorder::interface { 'eth0': @@ -156,6 +159,7 @@ define abusesa::recorder::interface( $remoteopt='', $probe=true, $remote=true, + $services=true, ) { Class['abusesa::recorder'] -> Abusesa::Recorder::Interface[$name] @@ -173,6 +177,12 @@ define abusesa::recorder::interface( group => 'root', } + if $probe == true and $services == true { + $probe_notify = Service["probe-${name}"] + } else { + $probe_notify = undef + } + file { "/etc/abusesa/probe.d/${name}": ensure => $probe ? { true => present, @@ -183,23 +193,28 @@ define abusesa::recorder::interface( group => 'root', content => template('abusesa/recorder/probe.erb'), require => File["/var/lib/recorder/${name}"], - notify => $probe ? { - true => Service["probe-${name}"], - false => undef, - }, + notify => $probe_notify, } - service { "probe-${name}": - ensure => $probe ? { - true => running, - false => stopped, - }, - provider => 'base', - start => "/etc/abusesa/probe.d/${name} start", - restart => "/etc/abusesa/probe.d/${name} restart", - stop => "pkill -f /var/run/probe/${name}.pid", - status => "pgrep -f /var/run/probe/${name}.pid", - subscribe => Exec['/usr/local/src/abusesa-recorder-linux.sh'], + if $services == true { + service { "probe-${name}": + ensure => $probe ? { + true => running, + false => stopped, + }, + provider => 'base', + start => "/etc/abusesa/probe.d/${name} start", + restart => "/etc/abusesa/probe.d/${name} restart", + stop => "pkill -f /var/run/probe/${name}.pid", + status => "pgrep -f /var/run/probe/${name}.pid", + subscribe => Exec['/usr/local/src/abusesa-recorder-linux.sh'], + } + } + + if $remote == true and $services == true { + $remote_notify = Service["remote-${name}"] + } else { + $remote_notify = undef } file { "/etc/abusesa/remote.d/${name}": @@ -212,24 +227,23 @@ define abusesa::recorder::interface( group => 'root', content => template('abusesa/recorder/remote.erb'), require => File["/var/lib/recorder/${name}"], - notify => $remote ? { - true => Service["remote-${name}"], - false => undef, - }, + notify => $remote_notify, } - service { "remote-${name}": - ensure => $remote ? { - true => running, - false => stopped, - }, - provider => 'base', - start => "/etc/abusesa/remote.d/${name} start", - restart => "/etc/abusesa/remote.d/${name} restart", - stop => "pkill -f /var/run/remote/${name}.pid", - status => "pgrep -f /var/run/remote/${name}.pid", - require => Service["probe-${name}"], - subscribe => Exec['/usr/local/src/abusesa-recorder-linux.sh'], + if $services == true { + service { "remote-${name}": + ensure => $remote ? { + true => running, + false => stopped, + }, + provider => 'base', + start => "/etc/abusesa/remote.d/${name} start", + restart => "/etc/abusesa/remote.d/${name} restart", + stop => "pkill -f /var/run/remote/${name}.pid", + status => "pgrep -f /var/run/remote/${name}.pid", + require => Service["probe-${name}"], + subscribe => Exec['/usr/local/src/abusesa-recorder-linux.sh'], + } } }