From: František Dvořák Date: Thu, 27 Aug 2009 14:55:13 +0000 (+0000) Subject: L&B proxy support in startup scripts (launch additional interlogger for proxy, ...). X-Git-Tag: glite-lbjp-common-db_R_1_0_1_3~7 X-Git-Url: http://scientific.zcu.cz/git/?a=commitdiff_plain;h=ee73f00473df18a9a58579c18d1e4d13a5aaa4ff;p=jra1mw.git L&B proxy support in startup scripts (launch additional interlogger for proxy, ...). --- diff --git a/org.glite.lb.doc/src/LBAG-Installation.tex b/org.glite.lb.doc/src/LBAG-Installation.tex index c9a1b1d..de54b5f 100644 --- a/org.glite.lb.doc/src/LBAG-Installation.tex +++ b/org.glite.lb.doc/src/LBAG-Installation.tex @@ -133,6 +133,7 @@ export data are written for use by lgcmon/R-GMA \item \texttt{GLITE\_LB\_RTM\_DN} -- DN using to get notifications from \LB server\\ (default: \texttt{heppc24.hep.ph.ic.ac.uk} machine certificate) \item \texttt{GLITE\_LB\_SUPER\_USERS} -- additional super-users (default: empty) +\item \texttt{GLITE\_LB\_TYPE} -- type of the \LB service: server, proxy, both (default: server) \end{itemize} In addition to those, YAIM LB module uses following parameters: diff --git a/org.glite.lb.logger/config/startup b/org.glite.lb.logger/config/startup index 814f9b8..c48d52a 100755 --- a/org.glite.lb.logger/config/startup +++ b/org.glite.lb.logger/config/startup @@ -16,6 +16,12 @@ unset creds port start() { + case "$GLITE_LB_TYPE" in + proxy) + echo 'Not starting logd and interlogger, proxy only instance (GLITE_LB_TYPE=proxy).' + return 0 + esac + if test -z "$GLITE_USER" ;then echo 'Error: GLITE_USER is not set' echo FAILED diff --git a/org.glite.lb.server/config/startup b/org.glite.lb.server/config/startup index e920349..c626c2c 100755 --- a/org.glite.lb.server/config/startup +++ b/org.glite.lb.server/config/startup @@ -19,6 +19,10 @@ GLITE_JP_LOCATION=${GLITE_JP_LOCATION:-$GLITE_LOCATION} [ -n "$GLITE_JP_IMPORTER_PIDFILE" ] && jp_importer_pidfile=$GLITE_JP_IMPORTER_PIDFILE || jp_importer_pidfile=$GLITE_LOCATION_VAR/glite-jp-importer.pid +GLITE_LB_TYPE=${GLITE_LB_TYPE:-'server'} # server, proxy, both +GLITE_LB_PROXY_SOCK=${GLITE_LB_PROXY_SOCK:-'/tmp/glite-lbproxy-ilog.sock'} +GLITE_LB_PROXY_FPREFIX=${GLITE_LB_PROXY_FPREFIX:-'/tmp/glite-lbproxy-ilog_events'} + unset creds port start() @@ -91,12 +95,23 @@ start() GLITE_LB_NOTIF_OTHER_OPTIONS="$GLITE_LB_NOTIF_OTHER_OPTIONS -v -d >> $GLITE_LOCATION_VAR/notif-il.log 2>&1 &" fi fi + case "$GLITE_LB_TYPE" in + proxy) + proxy="-P --proxy-il-sock $GLITE_LB_PROXY_SOCK --proxy-il-fprefix $GLITE_LB_PROXY_FPREFIX" + ;; + both) + proxy="-B --proxy-il-sock $GLITE_LB_PROXY_SOCK --proxy-il-fprefix $GLITE_LB_PROXY_FPREFIX" + ;; + *) + proxy='' + ;; + esac 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 $lbreg_maildir\ + $super $creds -i $pidfile $port $wport $dumpdir $purgedir $lbreg_maildir $proxy\ $GLITE_LB_SERVER_OTHER_OPTIONS" \ && echo " done" || echo " FAILED" @@ -117,6 +132,17 @@ start() $jpps $creds $GLITE_JP_IMPORTER_ARGS" \ && echo " done" || echo " FAILED" fi + + if test x"$GLITE_LB_TYPE" = x"proxy" -o x"$GLITE_LB_TYPE" = x"both" ; then + if test -x $GLITE_LOCATION/bin/glite-lb-notif-interlogd; then + echo -n Starting glite-lb-interlogd for proxy ... + su - $GLITE_USER -c "$GLITE_LOCATION/bin/glite-lb-interlogd \ + -f $GLITE_LB_PROXY_FPREFIX -s $GLITE_LB_PROXY_SOCK \ + $creds $GLITE_LB_PREFIX_OTHER_OPTIONS" && echo " done" || echo " FAILED" + else + echo Warning: glite-lb-interlogd not installed, logging to LB proxy will not work + fi + fi } stop_daemon() @@ -168,21 +194,33 @@ status_daemon() stop() { + LC_ALL=C + echo -n Stopping glite-lb-notif-interlogd ... killall glite-lb-notif-interlogd - echo done + 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 + + pid=`netstat -anp --unix 2>/dev/null | grep "^unix .* LISTEN.* ${GLITE_LB_PROXY_SOCK}$"` + if test x"$pid" = x"" ; then + echo "glite-lb-interlogd for proxy not running" + else + pid=`echo $pid | sed -e 's/.*LISTEN[A-Z]* *[^ ][^ ]* *\([0-9]*\).*/\1/'` + echo -n Stopping glite-lb-interlogd for proxy \($pid\) ... + kill "$pid" + echo " done" + fi } status() { retval=0 - LC_ALL=C + if netstat -an --unix | grep "^unix .* LISTEN.* ${GLITE_LB_NOTIF_SOCK}$" >/dev/null 2>&1 ;then echo glite-lb-notif-interlogd running else @@ -190,6 +228,13 @@ status() retval=1 fi + if netstat -an --unix | grep "^unix .* LISTEN.* ${GLITE_LB_PROXY_SOCK}$" >/dev/null 2>&1 ;then + echo glite-lb-interlogd for proxy running + else + echo glite-lb-interlogd for proxy not running + retval=1 + fi + 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