diff options
author | Todd Zullinger <tmz@pobox.com> | 2009-08-06 12:36:20 -0400 |
---|---|---|
committer | James Turnbull <james@lovedthanlost.net> | 2009-08-13 08:21:28 +1000 |
commit | b62d9668e04f40f2e3aa6c0f26dd26d1f75d8e22 (patch) | |
tree | 52e121a1d8c28717bd9f662537df07ece243b6fc /conf | |
parent | e9fbd4c9a21f1030f8fef1cd561fc3951399ad31 (diff) | |
download | puppet-b62d9668e04f40f2e3aa6c0f26dd26d1f75d8e22.tar.gz puppet-b62d9668e04f40f2e3aa6c0f26dd26d1f75d8e22.tar.xz puppet-b62d9668e04f40f2e3aa6c0f26dd26d1f75d8e22.zip |
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.
Signed-off-by: Todd Zullinger <tmz@pobox.com>
Diffstat (limited to 'conf')
-rw-r--r-- | conf/redhat/client.init | 7 | ||||
-rw-r--r-- | 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 bccb45cb1..401151c83 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 8f05387cc..4bc44b9fb 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 |