[Bug 1038139] Re: Missing running check on init script
Mathew Hodson
mathew.hodson at gmail.com
Mon Apr 6 14:30:18 UTC 2015
** Description changed:
- ========================================================
- SRU Justification:
- Impact: 'service haproxy stop' returns 4 if haproxy was already stopped.
- Development fix: check whether haproxy is running before trying to kill it
- Stable fix: same as development fix
- Test Case:
- sudo service haproxy start
- sudo killall -9 haproxy
- sudo service haproxy stop
- echo $?
- ~=> this should print 0, not 4
- sudo service haproxy start
- sudo service haproxy stop
- ~=> make sure this still correctly prints 0.
- Regression potential: if done wrongly we could further break the haproxy service stop.
- ========================================================
+ [Impact]
+
+ 'service haproxy stop' returns 4 if haproxy was already stopped.
+
+ [Test Case]
+
+ sudo service haproxy start
+ sudo killall -9 haproxy
+ sudo service haproxy stop
+ echo $?
+ ~=> this should print 0, not 4
+ sudo service haproxy start
+ sudo service haproxy stop
+ ~=> make sure this still correctly prints 0
+
+ [Regression Potential]
+
+ if done wrongly we could further break the haproxy service stop.
+
+ [Other Info]
+
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.
--
You received this bug notification because you are a member of Ubuntu
Server Team, which is subscribed to haproxy in Ubuntu.
https://bugs.launchpad.net/bugs/1038139
Title:
Missing running check on init script
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/haproxy/+bug/1038139/+subscriptions
More information about the Ubuntu-server-bugs
mailing list