From: František Dvořák Date: Wed, 13 Aug 2008 18:38:16 +0000 (+0000) Subject: Handle jp-importer deamon too when enabled export to JP. X-Git-Tag: glite-lb-client_R_3_2_2_1~9 X-Git-Url: http://scientific.zcu.cz/git/?a=commitdiff_plain;h=8ccaf5dd70639978f6cbac771d486444546f43be;p=jra1mw.git Handle jp-importer deamon too when enabled export to JP. --- diff --git a/org.glite.lb.server/config/startup b/org.glite.lb.server/config/startup index 8d748e0..d1479bf 100755 --- a/org.glite.lb.server/config/startup +++ b/org.glite.lb.server/config/startup @@ -14,6 +14,8 @@ GLITE_LOCATION_VAR=${GLITE_LOCATION_VAR:-/var/glite} [ -n "$GLITE_LB_SERVER_PIDFILE" ] && pidfile=$GLITE_LB_SERVER_PIDFILE || pidfile=$GLITE_LOCATION_VAR/glite-lb-bkserverd.pid [ -z "$GLITE_LB_NOTIF_SOCK" ] && GLITE_LB_NOTIF_SOCK="/tmp/glite-lb-notif.sock" +[ -n "$GLITE_JP_IMPORTER_PIDFILE" ] && jp_importer_pidfile=$GLITE_JP_IMPORTER_PIDFILE || + jp_importer_pidfile=$GLITE_LOCATION_VAR/glite-jp-importer.pid unset creds port @@ -44,9 +46,29 @@ start() [ -d "$GLITE_LB_EXPORT_PURGEDIR" ] || mkdir -p "$GLITE_LB_EXPORT_PURGEDIR" && chown $GLITE_USER:$GLITE_GROUP -R "$GLITE_LB_EXPORT_PURGEDIR" if [ x"$GLITE_LB_EXPORT_ENABLED" = x"true" ]; then + if [ ! -x $GLITE_LOCATION/bin/glite-jp-importer ]; then + echo "glite-jp-importer needed for export to Job Provenace, install glite-jp-client package too." + exit 1 + fi + + # registrations [ -z "$GLITE_LB_EXPORT_JPREG_MAILDIR" ] && GLITE_LB_EXPORT_JPREG_MAILDIR=$GLITE_LOCATION_VAR/jpreg + jpreg_maildir="--reg-mdir $GLITE_LB_EXPORT_JPREG_MAILDIR" + lbreg_maildir="--jpreg-dir $GLITE_LB_EXPORT_JPREG_MAILDIR" [ -d "$GLITE_LB_EXPORT_JPREG_MAILDIR" ] || mkdir -p "$GLITE_LB_EXPORT_JPREG_MAILDIR" && chown $GLITE_USER:$GLITE_GROUP -R "$GLITE_LB_EXPORT_JPREG_MAILDIR" - maildir="--jpreg-dir $GLITE_LB_EXPORT_JPREG_MAILDIR" + + # dumps + [ -z "$GLITE_LB_EXPORT_JPDUMP_MAILDIR" ] && GLITE_LB_EXPORT_JPDUMP_MAILDIR=$GLITE_LOCATION_VAR/jpdump + jpdump_maildir="--dump-mdir $GLITE_LB_EXPORT_JPDUMP_MAILDIR" + [ -d "$GLITE_LB_EXPORT_JPDUMP_MAILDIR" ] || mkdir -p "$GLITE_LB_EXPORT_JPDUMP_MAILDIR" && chown $GLITE_USER:$GLITE_GROUP -R "$GLITE_LB_EXPORT_JPDUMP_MAILDIR" + + # sandboxes + [ -z "$GLITE_LB_EXPORT_SANDBOX_MAILDIR" ] && GLITE_LB_EXPORT_SANDBOX_MAILDIR=$GLITE_LOCATION_VAR/sandbox + sandbox_maildir="--sandbox-mdir $GLITE_LB_EXPORT_SANDBOX_MAILDIR" + [ -d "$GLITE_LB_EXPORT_SANDBOX_MAILDIR" ] || mkdir -p "$GLITE_LB_EXPORT_SANDBOX_MAILDIR" && chown $GLITE_USER:$GLITE_GROUP -R "$GLITE_LB_EXPORT_SANDBOX_MAILDIR" + + # target Job Provenance + [ -n "$GLITE_LB_EXPORT_JPPS" ] && jpps="--jpps $GLITE_LB_EXPORT_JPPS" fi if test -r "$GLITE_LOCATION/etc/LB-super-users"; then @@ -68,11 +90,11 @@ start() fi fi - echo -n Starting glite-lb-bkserver ... + echo -n Starting glite-lb-bkserverd ... su - $GLITE_USER -c "$GLITE_LOCATION/bin/glite-lb-bkserverd \ --notif-il-sock=$GLITE_LB_NOTIF_SOCK \ --notif-il-fprefix=$GLITE_LB_NOTIF_FPREFIX \ - $super $creds -i $pidfile $port $wport $dumpdir $purgedir $maildir \ + $super $creds -i $pidfile $port $wport $dumpdir $purgedir $lbreg_maildir\ $GLITE_LB_SERVER_OTHER_OPTIONS" \ && echo " done" || echo " FAILED" @@ -84,17 +106,24 @@ start() else echo Warning: glite-lb-notif-interlogd not installed, LB notifications will not work fi + + if test x"$GLITE_LB_EXPORT_ENABLED" = x"true" ; then + su - $GLITE_USER -c "$GLITE_LOCATION/bin/glite-jp-importer \ + -i $jp_importer_pidfile $jpreg_maildir $jpdump_maildir $sandbox_maildir \ + $jpps $creds $GLITE_JP_IMPORTER_ARGS" \ + && echo " done" || echo " FAILED" + fi } -stop() +stop_daemon() { - echo -n Stopping glite-lb-notif-interlogd ... - killall glite-lb-notif-interlogd - echo done - if [ -f $pidfile ]; then - pid=`cat $pidfile` + name="$1" + pidfile="$2" + + if [ -f "$pidfile" ]; then + pid=`cat "$pidfile"` kill $pid - echo -n Stopping glite-lb-bkserverd \($pid\) ... + echo -n Stopping $name \($pid\) ... try=0 while ps p $pid >/dev/null 2>&1; do sleep 1; @@ -107,11 +136,44 @@ stop() echo " done" rm -f $pidfile else - echo $pidfile does not exist - glite-lb-bkserverd not running? >&2 + echo $pidfile does not exist - $name not running? >&2 return 1 fi } +status_daemon() +{ + name="$1" + pidfile="$2" + + if [ -f "$pidfile" ]; then + pid=`cat "$pidfile"` + if ps p $pid >/dev/null 2>&1; then + echo $name running as $pid + else + echo $name not running + return 1 + fi + else + echo $name not running + return 1 + fi + + return 0 +} + +stop() +{ + echo -n Stopping glite-lb-notif-interlogd ... + killall glite-lb-notif-interlogd + echo done + + stop_daemon "glite-lb-bkserverd" $pidfile + if test x"$GLITE_LB_EXPORT_ENABLED" = x"true"; then + stop_daemon "glite-jp-importer" $jp_importer_pidfile + fi +} + status() { retval=0 @@ -124,17 +186,9 @@ status() retval=1 fi - if [ -f $pidfile ]; then - pid=`cat $pidfile` - if ps p $pid >/dev/null 2>&1; then - echo glite-lb-bkserverd running as $pid - else - echo glite-lb-bkserverd not running - retval=1 - fi - else - echo glite-lb-bkserverd not running - retval=1 + status_daemon "glite-lb-bkserverd" "$pidfile" || retval=1 + if test x"$GLITE_LB_EXPORT_ENABLED" = x"true"; then + status_daemon "glite-jp-importer" "$jp_importer_pidfile" || retval=1 fi return $retval