** Description changed: [Environment] Trusty 14.04.2 [Description] Looking in the /etc/init.d/haproxy script, particularly the stop method, is returning 4 in case of the pidfile doesn't exists. /bin/kill $pid || return 4. According to the spec that means 'insufficient privileges' which is not correct. This is causing pacemaker and other system monitoring tools to fail because it doesn't complains with LSB. An example: Jun 2 12:52:13 glance02 crmd[2518]: notice: process_lrm_event: glance02-res_glance_haproxy_monitor_5000:22 [ haproxy dead, but /var/run/haproxy.pid exists.\n ] Jun 2 12:52:13 glance02 crmd[2518]: notice: process_lrm_event: LRM operation res_glance_haproxy_stop_0 (call=33, rc=4, cib-update=19, confirmed=true) insufficient privileges Reference: haproxy_stop() { if [ ! -f $PIDFILE ] ; then # This is a success according to LSB return 0 fi for pid in $(cat $PIDFILE) ; do /bin/kill $pid || return 4 done rm -f $PIDFILE return 0 } + [Impact] + + * Pacemaker or any other system monitoring tool that relies + on a proper exit code could fail as this doesn't complains with LSB. + + [Test Case] + + * Stop/Start haproxy on Trusty/Utopic and check exit code. + + $ sudo service haproxy stop | echo $? + + + [Regression Potential] + + * If any application or shell script is relying on a wrong exit code + 4 , then it could be affected by this change. + [Proposed solution] Backport the current devel (wily) init.
** Description changed: [Environment] Trusty 14.04.2 [Description] Looking in the /etc/init.d/haproxy script, particularly the stop method, is returning 4 in case of the pidfile doesn't exists. /bin/kill $pid || return 4. According to the spec that means 'insufficient privileges' which is not correct. This is causing pacemaker and other system monitoring tools to fail because it doesn't complains with LSB. An example: Jun 2 12:52:13 glance02 crmd[2518]: notice: process_lrm_event: glance02-res_glance_haproxy_monitor_5000:22 [ haproxy dead, but /var/run/haproxy.pid exists.\n ] Jun 2 12:52:13 glance02 crmd[2518]: notice: process_lrm_event: LRM operation res_glance_haproxy_stop_0 (call=33, rc=4, cib-update=19, confirmed=true) insufficient privileges Reference: haproxy_stop() { if [ ! -f $PIDFILE ] ; then # This is a success according to LSB return 0 fi for pid in $(cat $PIDFILE) ; do /bin/kill $pid || return 4 done rm -f $PIDFILE return 0 } [Impact] * Pacemaker or any other system monitoring tool that relies on a proper exit code could fail as this doesn't complains with LSB. [Test Case] - * Stop/Start haproxy on Trusty/Utopic and check exit code. + * Kill manually the process and then stop haproxy on Trusty/Utopic and + check exit code. + $ sudo killall -9 haproxy $ sudo service haproxy stop | echo $? - - [Regression Potential] + [Regression Potential] * If any application or shell script is relying on a wrong exit code 4 , then it could be affected by this change. [Proposed solution] Backport the current devel (wily) init. ** Summary changed: - Init file does not respect the LSB spec. + [sru] Init file does not respect the LSB spec. -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1462495 Title: [sru] Init file does not respect the LSB spec. To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/haproxy/+bug/1462495/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs