Ah good catch, the exit 0 was higher up.
Additionally, I had misread the haproxy_status function, the pid is actually 
looked up in the process table at line 99 (even if the comment is wrong and 3 
should be returned, not 1).

Though here's another reproducer:
root@juju-8d5e58-14:~# systemctl mask haproxy.service
root@juju-8d5e58-14:~# service haproxy status &>/dev/null; echo $?
3
root@juju-8d5e58-14:~# /etc/init.d/haproxy status; echo $?
0

That exit 0 comes from line 14 of /lib/lsb/init-functions.d/40-systemd
though.

-- 
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/1810926

Title:
  initscript status check is too fragile

Status in haproxy package in Ubuntu:
  Confirmed

Bug description:
  `/etc/init.d/haproxy status` will return 0 if the pidfile is present, 
regardless of whether haproxy is actually running.
  I suggest for the check to be rewritten to actually look for a process with 
that PID (e.g. `pgrep -F $PIDFILE`).

  How to reproduce:
  chmod -x /usr/sbin/haproxy
  service haproxy restart

  Result:
  RC of `service haproxy status` is 3, but RC of `/etc/init.d/haproxy status` 
is 0

  Impact:
  The initscript is used as a LSB RA for pacemaker deployments; this bug 
effectively prevents pacemaker from realizing that haproxy is down (in some 
cases).

  Tested on:
  root@juju-8d5e58-14:~# lsb_release -rd
  Description:    Ubuntu 16.04.5 LTS
  Release:        16.04
  root@juju-8d5e58-14:~# dpkg -s haproxy | grep Version
  Version: 1.6.3-1ubuntu0.1


  This bug is present in the most recent debian package upstream as well
  (1.9.0-1), but I think it would make sense to track this here first as
  we have a lot of OpenStack installations on Xenial that would benefit
  from receiving a fix.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/haproxy/+bug/1810926/+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

Reply via email to