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

Reply via email to