** 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 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: Fix Released Status in haproxy source package in Precise: Fix Committed Status in haproxy source package in Trusty: Fix Committed Status in haproxy source package in Utopic: Fix Released Bug description: [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. 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

