This still won't be enough. I suggest something like this:
--- haproxy.old 2014-09-22 10:52:07.599718882 +0000
+++ haproxy.new 2014-09-22 10:51:34.815653158 +0000
@@ -46,7 +46,9 @@
return 0
fi
for pid in $(cat $PIDFILE) ; do
- /bin/kill $pid || return 4
+ if [ ! kill -0 $pid ]; then
+ /bin/kill $pid || return 4
+ fi
done
rm -f $PIDFILE
return 0
--
You received this bug notification because you are a member of Ubuntu
High Availability Team, which is subscribed to haproxy in Ubuntu.
https://bugs.launchpad.net/bugs/1038139
Title:
Missing running check on init script
Status in “haproxy” package in Ubuntu:
Confirmed
Status in “haproxy” source package in Trusty:
Confirmed
Status in “haproxy” source package in Utopic:
Confirmed
Bug description:
Hi, this is the relevant version information:
# lsb_release -rd
Description: Ubuntu 12.04 LTS
Release: 12.04
dpkg -l haproxy|tail -1
ii haproxy 1.4.18-0ubuntu1
fast and reliable load balancing reverse proxy
When I issue a stop to haproxy via the init script, on line 49 it tries to
kill the process and returns 4 in case of failure, which then after iis the
exit status of the script itself.
There are many reasons why stopping a process may fail, one of them is that
the process wasn't actually running. In that case, I think the exit status of
stop should be 0, since the process is stopped.
This caused problems in the following scenario: haproxy governed by
pacemaker if the haproxy process stops abruptly for some reason (crash,
oom-killer), pacemaker will try to stop and start it again, but it will fail to
stop (exit 4, expected 0).
To work around this, I added a check on the init script to see if the process
was running, see patch attached.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/haproxy/+bug/1038139/+subscriptions
_______________________________________________
Mailing list: https://launchpad.net/~ubuntu-ha
Post to : [email protected]
Unsubscribe : https://launchpad.net/~ubuntu-ha
More help : https://help.launchpad.net/ListHelp