LB export script (will be called via wrapper from cron).
authorFrantišek Dvořák <valtri@civ.zcu.cz>
Tue, 14 Mar 2006 10:31:10 +0000 (10:31 +0000)
committerFrantišek Dvořák <valtri@civ.zcu.cz>
Tue, 14 Mar 2006 10:31:10 +0000 (10:31 +0000)
Configure export/mail dirs for bkserver.
Various fixes from some obscure branch.

org.glite.lb.client/Makefile
org.glite.lb.client/examples/export.sh [new file with mode: 0644]
org.glite.lb.client/examples/gen_begin
org.glite.lb.client/src/lb_dump_exporter.c

index e9aaf59..334bbff 100644 (file)
@@ -298,6 +298,7 @@ install:
        for p in ${EXAMPLES} lbmon-db ${EXAMPLES_CL} ${sh_PROGS} ; do \
                ${INSTALL} -m 755 "$$p" "${PREFIX}/examples/glite-lb-$$p"; \
        done
+       ${INSTALL} -m 755 ${top_srcdir}/examples/export.sh "${PREFIX}/examples/glite-lb-export.sh"
        ${INSTALL} -m 644 ${MAN_GZ} ${PREFIX}/share/man/man1
 
 clean:
diff --git a/org.glite.lb.client/examples/export.sh b/org.glite.lb.client/examples/export.sh
new file mode 100644 (file)
index 0000000..a4a8dc6
--- /dev/null
@@ -0,0 +1,39 @@
+#! /bin/bash
+
+#
+# script for exporing jobs from bkserver which should be periodically run
+# together with running jp-importer
+#
+# it uses configuration from enviroment ==> may require a configuration wrapper
+#
+
+#autodetect the prefix
+PREFIX=${GLITE_LOCATION:-`dirname $0`/..}
+
+# dump directory of bkserver
+GLITE_LB_EXPORT_DUMPDIR=${GLITE_LB_EXPORT_DUMPDIR:-/tmp/dump}
+GLITE_LB_EXPORT_DUMPDIR_OLD=${GLITE_LB_EXPORT_DUMPDIR_OLD:-$GLITE_LB_EXPORT_DUMPDIR.old}
+# maildir dump directory for jp importer
+GLITE_LB_EXPORT_JPDUMP_MAILDIR=${GLITE_LB_EXPORT_JPDUMP_MAILDIR:-/tmp/jpdump}
+# directory with exported data (file per job)
+GLITE_LB_EXPORT_EXPORTDIR=${GLITE_LB_EXPORT_EXPORTDIR:-/tmp/lbexport}
+# purge args (timeouts)
+GLITE_LB_EXPORT_PURGE_ARGS=${GLITE_LB_EXPORT_PURGE_ARGS:--a 1h -c 1h -n 1h -o 1d}
+# Book Keeping Server
+GLITE_LB_EXPORT_BKSERVER=${GLITE_LB_EXPORT_BKSERVER:-localhost:9000}
+
+[ -d $GLITE_LB_EXPORT_JPDUMP_MAILDIR ] || mkdir -p $GLITE_LB_EXPORT_JPDUMP_MAILDIR
+[ -d $GLITE_LB_EXPORT_DUMPDIR ] || mkdir -p $GLITE_LB_EXPORT_DUMPDIR
+[ -d $GLITE_LB_EXPORT_DUMPDIR_OLD ] || mkdir -p $GLITE_LB_EXPORT_DUMPDIR_OLD
+[ -d $GLITE_LB_EXPORT_EXPORTDIR ] || mkdir -p $GLITE_LB_EXPORT_EXPORTDIR
+
+$PREFIX/sbin/glite-lb-purge $GLITE_LB_EXPORT_PURGE_ARGS -l -m $GLITE_LB_EXPORT_BKSERVER
+
+for file in $GLITE_LB_EXPORT_DUMPDIR/*; do
+  if [ -s $file ]; then
+    $PREFIX/sbin/glite-lb-lb_dump_exporter -d $file -s $GLITE_LB_EXPORT_EXPORTDIR -m $GLITE_LB_EXPORT_JPDUMP_MAILDIR
+    mv $file $GLITE_LB_EXPORT_DUMPDIR_OLD
+  else
+    rm $file
+  fi
+done
index ae9f981..bcc5083 100755 (executable)
@@ -8,7 +8,12 @@ if [ `echo $(basename $0) | grep 'glite-lb-' | wc -l` = "1" ]; then
        PREFIX=glite-lb-
 fi
 LOGFD=${LOGFD:-2}
-LOGEV=${LOGEV:-`dirname $0`/${PREFIX}logevent}${SUFFIX}
+if [ -d `dirname $0`/../bin ]; then
+       BINDIR=`dirname $0`/../bin
+else
+       BINDIR=`dirname $0`
+fi
+LOGEV=${LOGEV:-${BINDIR}/${PREFIX}logevent}${SUFFIX}
 JOB_REG=${JOB_REG:-`dirname $0`/${PREFIX}job_reg}${SUFFIX}
 EDG_JOBID=
 LBPROXY=
index ce74d36..2eb1850 100644 (file)
@@ -134,6 +134,8 @@ int main(int argc, char **argv)
                }
                if ( !ln ) break;
 
+               if (*ln == 0) continue;
+
                if ( edg_wll_ParseEvent(ctx, ln, &ev) != 0 ) {
                        cleanup(1);
                }
@@ -158,7 +160,7 @@ int main(int argc, char **argv)
                                        cleanup(1);
                                }
                                snprintf(fname, PATH_MAX, "%s/%s.%ld", store_pref, unique, (long) time(NULL));
-                               if ( (fd = open(fname, O_CREAT|O_EXCL|O_RDWR, 00600)) < 0 ) {
+                               if ( (fd = open(fname, O_CREAT|O_EXCL|O_RDWR, 00640)) < 0 ) {
                                        if ( errno == EEXIST ) { sleep(2); continue; }
                                        perror(fname);
                                        cleanup(1);