[sru] Init file does not respect the LSB spec.

Bug #1462495 reported by Jorge Niedbalski
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
haproxy (Ubuntu)
Fix Released
High
Jorge Niedbalski
Trusty
Fix Released
High
Jorge Niedbalski
Utopic
Fix Released
High
Jorge Niedbalski

Bug Description

[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]

* 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]

* 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.

Changed in haproxy (Ubuntu):
status: New → In Progress
importance: Undecided → High
assignee: nobody → Jorge Niedbalski (niedbalski)
description: updated
Revision history for this message
Jorge Niedbalski (niedbalski) wrote :
Changed in haproxy (Ubuntu Trusty):
status: New → In Progress
Changed in haproxy (Ubuntu Utopic):
status: New → In Progress
Changed in haproxy (Ubuntu Trusty):
assignee: nobody → Jorge Niedbalski (niedbalski)
Changed in haproxy (Ubuntu Utopic):
assignee: nobody → Jorge Niedbalski (niedbalski)
description: updated
description: updated
summary: - Init file does not respect the LSB spec.
+ [sru] Init file does not respect the LSB spec.
Changed in haproxy (Ubuntu):
status: In Progress → Fix Released
Revision history for this message
Brian Murray (brian-murray) wrote : Please test proposed package

Hello Jorge, or anyone else affected,

Accepted haproxy into utopic-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/haproxy/1.5.4-1ubuntu2 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, and change the tag from verification-needed to verification-done. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed. In either case, details of your testing will help us make a better decision.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

Changed in haproxy (Ubuntu Utopic):
status: In Progress → Fix Committed
tags: added: verification-needed
Revision history for this message
Brian Murray (brian-murray) wrote :

The trusty version of this patch contains some additional changes, when compared to the utopic patch, that don't seem related to the SRU e.g. check_haproxy_config and some other bits

Are they all necessary to fix the bug?

Revision history for this message
Jorge Niedbalski (niedbalski) wrote :
Revision history for this message
Jorge Niedbalski (niedbalski) wrote :

@brian-murray,

Corrected the patch addressing your comment. Thanks.

Revision history for this message
Brian Murray (brian-murray) wrote :

Hello Jorge, or anyone else affected,

Accepted haproxy into trusty-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/haproxy/1.4.24-2ubuntu0.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, and change the tag from verification-needed to verification-done. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed. In either case, details of your testing will help us make a better decision.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

Changed in haproxy (Ubuntu Trusty):
status: In Progress → Fix Committed
tags: added: verification-done
removed: verification-needed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package haproxy - 1.4.24-2ubuntu0.1

---------------
haproxy (1.4.24-2ubuntu0.1) trusty; urgency=medium

  * debian/haproxy.init:
     + Backport of utopic start/stop routines,
       uses start-stop-daemon to reliable terminate all
       haproxy processes and return the proper exit code.
       (LP: #1462495).
     + Backport of utopic check_haproxy_config routine,
       that test the configuration before start or reload.
       (LP: #1468879)

 -- Jorge Niedbalski <email address hidden> Thu, 25 Jun 2015 12:51:05 -0700

Changed in haproxy (Ubuntu Trusty):
status: Fix Committed → Fix Released
Revision history for this message
Chris J Arges (arges) wrote : Update Released

The verification of the Stable Release Update for haproxy has completed successfully and the package has now been released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regressions.

Mathew Hodson (mhodson)
Changed in haproxy (Ubuntu Trusty):
importance: Undecided → High
Changed in haproxy (Ubuntu Utopic):
importance: Undecided → High
status: Fix Committed → Won't Fix
status: Won't Fix → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.