[Pacemaker] Monitoring fails with Run-As-User in init.d script

Georges-Etienne Legendre legege at legege.com
Thu Feb 17 16:31:26 EST 2011


Hi,

We're using Java Service Wrapper (JSW) to bundle our Java application. 
JSW provides an init.d script which appears to be compliant to LSB 
Resource Agent specification 
(http://refspecs.linux-foundation.org/LSB_3.2.0/LSB-Core-generic/LSB-Core-generic/iniscrptact.html).

We configure the JSW init.d script to run our application as a 
specific user (RUN_AS_USER).

When root uses this script, everything works as expected:
  /etc/init.d/my-java-app start
  Starting MY JAVA APP...
  Exit code: 0

  /etc/init.d/my-java-app status
  MY JAVA APP is running (15017).
  Exit code: 0

  /etc/init.d/my-java-app stop
  Stopping MY JAVA APP...
  Stopped MY JAVA APP.
  Exit code: 0

Here is my Corosync/Pacemaker config:

  primitive my-java-app lsb:my-java-app \
        op start interval="0" timeout="180s" \
        op stop interval="0" timeout="180s" \
        op monitor interval="15s" timeout="60s" \
        meta failure-timeout="30s"

Corosync is able to start/stop this application. However, the 
monitoring doesn't work: when I manually kill the application, Corosync 
doesn't restart the application. But when I run the application as 
root, everything is fine.

The attached file is the JSW init.d script.

To launch the application as the specified user, the init.d script 
calls itself (su -m my_user -c "\"/etc/init.d/my-java-app" status"). Of 
course, when this init.d script is initially called by root, no 
password is asked (because it's root!). When this init.d script is 
initially launched by another user, a password is asked. That should 
not be the case of corosync right? The LSB process runs as root.

Thanks for your help!
--
Georges-Etienne
-------------- next part --------------
A non-text attachment was scrubbed...
Name: jsw-app
Type: text/x-shellscript
Size: 15234 bytes
Desc: not available
URL: <http://lists.clusterlabs.org/pipermail/pacemaker/attachments/20110217/badbdfc9/attachment-0002.bin>


More information about the Pacemaker mailing list