From acc299ecbfcb6d8a9244e2070af56b875b988e60 Mon Sep 17 00:00:00 2001 From: Peter Palfrader Date: Tue, 24 Sep 2019 09:10:15 +0200 Subject: [PATCH] Make bacula-idle-restart not be a template anymore. We can just pass all the relevant things on the command line --- .../bacula-idle-restart} | 21 +++++++------------ modules/bacula/manifests/client.pp | 2 +- modules/bacula/manifests/init.pp | 4 ++-- modules/bacula/manifests/storage.pp | 2 +- 4 files changed, 12 insertions(+), 17 deletions(-) rename modules/bacula/{templates/bacula-idle-restart.erb => files/bacula-idle-restart} (61%) diff --git a/modules/bacula/templates/bacula-idle-restart.erb b/modules/bacula/files/bacula-idle-restart similarity index 61% rename from modules/bacula/templates/bacula-idle-restart.erb rename to modules/bacula/files/bacula-idle-restart index a99ff8033..cebce07eb 100644 --- a/modules/bacula/templates/bacula-idle-restart.erb +++ b/modules/bacula/files/bacula-idle-restart @@ -9,20 +9,15 @@ set -e -if [ "$1" = "fd" ];then - PORT=<%= @bacula_client_port %> - DIR="bacula-fd" -elif [ "$1" = "sd" ]; then - PORT=<%= @bacula_storage_port %> - DIR="bacula-sd" -else - # Usage - echo "$0 [fd|sd]" - echo - echo "Restart bacula fd or sd when idle" - exit 1 +if [ "$#" != 2 ];then + echo >&2 "$0 " + echo "Restart bacula service when port idle" + exit 1 fi +PORT="$1" +SERVICE="$2" + # chk_net # returns true (0) if there are connections to that port. chk_net() { @@ -39,4 +34,4 @@ while chk_net "$PORT"; do sleep 5 done -service $DIR restart +service $SERVICE restart diff --git a/modules/bacula/manifests/client.pp b/modules/bacula/manifests/client.pp index dfeb176ed..f46cc026b 100644 --- a/modules/bacula/manifests/client.pp +++ b/modules/bacula/manifests/client.pp @@ -62,7 +62,7 @@ class bacula::client( exec { 'bacula-fd restart-when-idle': path => '/usr/bin:/usr/sbin:/bin:/sbin', - command => 'sh -c "setsid /usr/local/sbin/bacula-idle-restart fd &"', + command => "sh -c 'setsid /usr/local/sbin/bacula-idle-restart ${bacula::bacula_client_port} bacula-fd &'", refreshonly => true, subscribe => [ File[$bacula::bacula_ssl_server_cert], File[$bacula::bacula_ssl_client_cert] ], require => File['/usr/local/sbin/bacula-idle-restart'], diff --git a/modules/bacula/manifests/init.pp b/modules/bacula/manifests/init.pp index 128063fbf..6c1b9e22a 100644 --- a/modules/bacula/manifests/init.pp +++ b/modules/bacula/manifests/init.pp @@ -37,7 +37,7 @@ class bacula ( Array[Stdlib::IP::Address] $public_addresses = $base::public_addresses, ) { file { '/usr/local/sbin/bacula-idle-restart': - mode => '0555', - content => template('bacula/bacula-idle-restart.erb'), + mode => '0555', + source => 'puppet:///modules/bacula/bacula-idle-restart', } } diff --git a/modules/bacula/manifests/storage.pp b/modules/bacula/manifests/storage.pp index 3d9ac3b6b..8f549d537 100644 --- a/modules/bacula/manifests/storage.pp +++ b/modules/bacula/manifests/storage.pp @@ -19,7 +19,7 @@ class bacula::storage inherits bacula { exec { 'bacula-sd restart-when-idle': path => '/usr/bin:/usr/sbin:/bin:/sbin', - command => 'sh -c "setsid /usr/local/sbin/bacula-idle-restart sd &"', + command => "sh -c 'setsid /usr/local/sbin/bacula-idle-restart ${bacula::bacula_storage_port} bacula-sd &'", refreshonly => true, subscribe => File[$bacula::bacula_ssl_server_cert], require => File['/usr/local/sbin/bacula-idle-restart'], -- 2.20.1