summaryrefslogtreecommitdiffstats
path: root/puppet-0.24.8-condrestart.patch
diff options
context:
space:
mode:
Diffstat (limited to 'puppet-0.24.8-condrestart.patch')
-rw-r--r--puppet-0.24.8-condrestart.patch82
1 files changed, 82 insertions, 0 deletions
diff --git a/puppet-0.24.8-condrestart.patch b/puppet-0.24.8-condrestart.patch
new file mode 100644
index 0000000..2809c1c
--- /dev/null
+++ b/puppet-0.24.8-condrestart.patch
@@ -0,0 +1,82 @@
+From fc161e4a5ad4d470d0fe17b734004ab675eaa6ae Mon Sep 17 00:00:00 2001
+From: Todd Zullinger <tmz@pobox.com>
+Date: Fri, 3 Jul 2009 10:22:19 -0400
+Subject: [PATCH/puppet 2/2] conf/redhat/*.init: Fix condrestart/try-restart
+
+Previously, the Red Hat init scripts used the $pidfile or $lockfile as a
+test for whether to restart the daemons. This caused condrestart to
+start the daemons even when they were not running, in cases where they
+had died or been killed without cleaning up the $pidfile/$lockfile.
+
+This was reported by Ingvar Hagelund in Red Hat bug #480600.
+---
+ conf/redhat/client.init | 7 ++++++-
+ conf/redhat/server.init | 11 ++++++++---
+ 2 files changed, 14 insertions(+), 4 deletions(-)
+
+diff --git a/conf/redhat/client.init b/conf/redhat/client.init
+index f40e81d..fda156c 100644
+--- a/conf/redhat/client.init
++++ b/conf/redhat/client.init
+@@ -67,6 +67,10 @@ rh_status() {
+ status $statusopts $puppetd
+ }
+
++rh_status_q() {
++ rh_status >/dev/null 2>&1
++}
++
+ genconfig() {
+ echo -n $"Generate configuration puppet: "
+ $puppetd ${PUPPET_OPTS} ${PUPPET_EXTRA_OPTS} --genconfig
+@@ -86,7 +90,8 @@ case "$1" in
+ reload
+ ;;
+ condrestart|try-restart)
+- [ -f "$pidfile" ] && restart
++ rh_status_q || exit 0
++ restart
+ ;;
+ status)
+ rh_status
+diff --git a/conf/redhat/server.init b/conf/redhat/server.init
+index 6871b9a..74cb52f 100644
+--- a/conf/redhat/server.init
++++ b/conf/redhat/server.init
+@@ -89,7 +89,7 @@ genconfig() {
+ $PUPPETMASTER $PUPPETMASTER_OPTS --genconfig
+ }
+
+-puppetmaster_status() {
++rh_status() {
+ if [ -n "$PUPPETMASTER_PORTS" ] && [ ${#PUPPETMASTER_PORTS[@]} -gt 1 ]; then
+ for ((i=0; i<${#PUPPETMASTER_PORTS[@]}; i++)); do
+ echo -en "Port ${PUPPETMASTER_PORTS[$i]}: "
+@@ -103,6 +103,10 @@ puppetmaster_status() {
+ return $RETVAL
+ }
+
++rh_status_q() {
++ rh_status >/dev/null 2>&1
++}
++
+ case "$1" in
+ start)
+ start
+@@ -114,10 +118,11 @@ case "$1" in
+ restart
+ ;;
+ condrestart)
+- [ -f "$lockfile" ] && restart
++ rh_status_q || exit 0
++ restart
+ ;;
+ status)
+- puppetmaster_status
++ rh_status
+ ;;
+ genconfig)
+ genconfig
+--
+1.6.3.3
+