From 16821fe05d5276f22b353fde09fa8bc30c0166d0 Mon Sep 17 00:00:00 2001 From: "James E. Blair" Date: Fri, 6 Jul 2012 10:39:06 -0700 Subject: [PATCH] Make zuul restart graceful. Add /var/lib/zuul so it can save the queue there. Change-Id: I4ebb18f0502735ad18191a0dc5ddc26f6ef32e05 --- modules/zuul/files/zuul.init | 38 ++++++++++++++++++++-------------- modules/zuul/manifests/init.pp | 5 +++++ 2 files changed, 28 insertions(+), 15 deletions(-) diff --git a/modules/zuul/files/zuul.init b/modules/zuul/files/zuul.init index d4fb8d42a3..1572d05b9c 100755 --- a/modules/zuul/files/zuul.init +++ b/modules/zuul/files/zuul.init @@ -72,6 +72,27 @@ do_stop() return "$RETVAL" } +# +# Function that stops the daemon/service +# +do_graceful_stop() +{ + PID=`cat $PIDFILE` + kill -10 $PID + + # wait until really stopped + if [ -n "${PID:-}" ]; then + while kill -0 "${PID:-}" 2> /dev/null; do + if [ $i = '0' ]; then + echo -n " ... waiting " + else + echo -n "." + fi + sleep 1 + done + fi +} + # # Function that sends a SIGHUP to the daemon/service # @@ -120,21 +141,8 @@ case "$1" in # 'force-reload' alias # log_daemon_msg "Restarting $DESC" "$NAME" - do_stop - case "$?" in - 0|1) - do_start - case "$?" in - 0) log_end_msg 0 ;; - 1) log_end_msg 1 ;; # Old process is still running - *) log_end_msg 1 ;; # Failed to start - esac - ;; - *) - # Failed to stop - log_end_msg 1 - ;; - esac + do_graceful_stop + do_start ;; *) #echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}" >&2 diff --git a/modules/zuul/manifests/init.pp b/modules/zuul/manifests/init.pp index 29358c90e5..d071d9b81c 100644 --- a/modules/zuul/manifests/init.pp +++ b/modules/zuul/manifests/init.pp @@ -47,6 +47,11 @@ class zuul () owner => 'jenkins' } + file { "/var/lib/zuul": + ensure => "directory", + owner => 'jenkins' + } + file { "/etc/init.d/zuul/": owner => 'root', group => 'root',