doxygen C.dox
doxygen CPP.dox
+Event.cpp: EventAttrNames.pl
+
+JobStatus.cpp: StatusAttrNames.pl
+
+EventAttrNames.pl StatusAttrNames.pl:
+ rm -f $@
+ ln -s ${stagedir}/share/${lbprefix}/at3/$@ $@
+
+dist: distsrc distbin
+
install:
mkdir -p ${PREFIX}/bin
mkdir -p ${PREFIX}/sbin
rm -rvf *.o *.lo .libs lib* *.c *.cpp *.h *.dox producer_test notify C/ CPP/
rm -rvf ${LIB} ${THRLIB} ${TOOLS} logevent ${PLUSLIB} ${THRPLUSLIB} ${MAN_GZ} ${MAN8_GZ}
rm -rvf ${EXAMPLES} ${EXAMPLES_CL} ${EXAMPLES_CL_THR} ${sh_PROGS}
+ rm -f EventAttrNames.pl StatusAttrNames.pl
rm -vf ${globalprefix} ${lbprefix}
rm -rvf log.xml project/ rpmbuild/ RPMS/ tgz/
$sbin = "$inst/sbin";
$bin = "$inst/bin";
$test = "$inst/examples";
-$purge = "$sbin/glite-lb-purge";
+$purge = "$bin/glite-lb-purge";
$status = "$test/glite-lb-job_status";
$log = "$test/glite-lb-job_log";
$prefix = "/tmp/purge_test_$$";
close DUMP;
die "!! no dump file reported\n" unless $dump;
+#print "DEBUG: dump file: '$dump'\n";
@list = glob "${prefix}_old*";
system "cat @list | sort >${prefix}_old_all";
system "cat $dump | sed -e s/^.*DATE/DATE/ | sort >${prefix}_old_dump";
close DUMP;
die "!! no dump file reported\n" unless $dump;
+#print "DEBUG: dump file: '$dump'\n";
@list = glob "${prefix}_new*";
system "cat @list | sort >${prefix}_new_all";
system "cat $dump | sed -e s/^.*DATE/DATE/ | sort >${prefix}_new_dump";
GLITE_LB_DUMP_EXPORTER_OTHER_OPTIONS
- pass errors from credential loading to upper layers properly
+3.1.2-2 (lb-1.7.4-1)
+- rebuild wrt. downgraded security 3.1.57-1
+
+3.1.3-1 (lb-1.7.5-1)
+- align attr_names[] (used in getAttrName methods) in Event and JobStatus
+ to definitions in *.h from lb.client-interface
+
+3.1.4-1
+- do the previous quick fix thoroughly -- don't smash name_with_underscores
+ and nameWithUppercaseLetters
+
+3.2.0-1 (lb-1.8.0-1)
+- added ui_host to jobstat
+- store purge files (to be uploaded to JP) in GLITE_LOCATION_VAR rahter then GLITE_TMP
# $Header$
-module.version=3.1.2
+module.version=3.2.0
module.age=1
#define CLASS_PREFIX "glite::lb::Event::"
@@@{
+
+require 'EventAttrNames.pl';
+
sub typeswitch {
my $ftype = shift;
my $resc = shift;
static std::string const names[Event::TYPE_MAX] = {
- "undefined",
+ "undefined",
@@@{
for (sort { $event->{order}->{$a} <=> $event->{order}->{$b} }
$event->getTypes)
}
-/* FIXME: this will not work with the current frozen assignment of constants in Event.h */
static
std::string const attr_names[Event::ATTR_MAX] = {
@@@{
- for (sort {$a cmp $b} getAllFields $event) {
- gen "\t\"$_\",\n";
+ my %s;
+
+ for (getAllFields $event) {
+ my $id = $_;
+ $id =~ s/([a-z])([A-Z])/$1_$2/g;
+ $s{uc($id)} = $_;
+ $s{uc($_)} = $_;
+ }
+ for (@main::EventAttrNames) {
+ gen "\t\"$s{$_}\",\n";
}
@@@}
};
#define CLASS_PREFIX "glite::lb::JobStatus::"
@@@{
+
+require 'StatusAttrNames.pl';
+
sub typeswitch {
my ($ftype,$ctype,$resc) = @_;
local $_;
static std::string const attr_names[JobStatus::ATTR_MAX] = {
@@@{
- require '../src/StatusAttrNames.pl';
+ my %s;
+
+ for (getAllFields $status) {
+ my $id = $_;
+ $id =~ s/([a-z])([A-Z])/$1_$2/g;
+ $s{uc($id)} = $_;
+ $s{uc($_)} = $_;
+ }
for (@main::StatusAttrNames) {
- my $fn = lc $_;
- gen "\t\"$fn\",\n";
+ gen "\t\"$s{$_}\",\n";
}
@@@}
};
# dump directory of bkserver
-GLITE_LB_EXPORT_PURGEDIR=${GLITE_LB_EXPORT_PURGEDIR:-/tmp/purge}
-GLITE_LB_EXPORT_DUMPDIR=${GLITE_LB_EXPORT_DUMPDIR:-/tmp/dump}
+GLITE_LB_EXPORT_PURGEDIR=${GLITE_LB_EXPORT_PURGEDIR:-$GLITE_LOCATION_VAR/purge}
+GLITE_LB_EXPORT_DUMPDIR=${GLITE_LB_EXPORT_DUMPDIR:-$GLITE_LOCATION_VAR/dump}
GLITE_LB_EXPORT_PURGEDIR_KEEP=${GLITE_LB_EXPORT_PURGEDIR_KEEP:-""}
GLITE_LB_EXPORT_DUMPDIR_KEEP=${GLITE_LB_EXPORT_DUMPDIR_KEEP:-""}
# maildir dump directory for jp importer
-GLITE_LB_EXPORT_JPDUMP_MAILDIR=${GLITE_LB_EXPORT_JPDUMP_MAILDIR:-/tmp/jpdump}
+GLITE_LB_EXPORT_JPDUMP_MAILDIR=${GLITE_LB_EXPORT_JPDUMP_MAILDIR:-$GLITE_LOCATION_VAR/jpdump}
# directory with exported data (file per job)
-GLITE_LB_EXPORT_JOBSDIR=${GLITE_LB_EXPORT_JOBSDIR:-/tmp/lbexport}
+GLITE_LB_EXPORT_JOBSDIR=${GLITE_LB_EXPORT_JOBSDIR:-$GLITE_LOCATION_VAR/lbexport}
# purge args (timeouts)
GLITE_LB_EXPORT_PURGE_ARGS=${GLITE_LB_EXPORT_PURGE_ARGS:---cleared 2d --aborted 2w --cancelled 2w --other 60d}
# Book Keeping Server
GLITE_LB_SERVER_PORT=${GLITE_LB_SERVER_PORT:-9000}
GLITE_LB_EXPORT_BKSERVER=${GLITE_LB_EXPORT_BKSERVER:-localhost:$GLITE_LB_SERVER_PORT}
GLITE_LB_PURGE_ENABLED=${GLITE_LB_PURGE_ENABLED:-true}
-GLITE_LB_EXPORT_ENABLED=${GLITE_LB_EXPORT_ENABLED:-true}
+GLITE_LB_EXPORT_ENABLED=${GLITE_LB_EXPORT_ENABLED:-false}
[ -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_PURGEDIR_KEEP ] || mkdir -p $GLITE_LB_EXPORT_PURGEDIR_KEEP
[ -d $GLITE_LB_EXPORT_JOBSDIR ] || mkdir -p $GLITE_LB_EXPORT_JOBSDIR
+if [ x"$GLITE_LB_EXPORT_ENABLED" = x"true" -o -d "$GLITE_LB_EXPORT_PURGEDIR_KEEP" ]
+then
+ GLITE_LB_EXPORT_PURGE_ARGS="$GLITE_LB_EXPORT_PURGE_ARGS -s"
+fi
+
if [ x"$GLITE_LB_PURGE_ENABLED" = x"true" ]; then
- X509_USER_CERT="$X509_USER_CERT" X509_USER_KEY="$X509_USER_KEY" $PREFIX/bin/glite-lb-purge $GLITE_LB_EXPORT_PURGE_ARGS -l -m $GLITE_LB_EXPORT_BKSERVER -s $GLITE_LB_PURGE_OTHER_OPTIONS
+ X509_USER_CERT="$X509_USER_CERT" X509_USER_KEY="$X509_USER_KEY" $PREFIX/bin/glite-lb-purge $GLITE_LB_EXPORT_PURGE_ARGS -l -m $GLITE_LB_EXPORT_BKSERVER $GLITE_LB_PURGE_OTHER_OPTIONS
fi
-if [ x"$GLITE_LB_EXPORT_ENABLED" = x"true" ]; then
list=`ls $GLITE_LB_EXPORT_PURGEDIR/* 2>/dev/null`
for file in $list; do
if [ -s $file ]; then
- $PREFIX/bin/glite-lb-dump_exporter -d $file -s $GLITE_LB_EXPORT_JOBSDIR -m $GLITE_LB_EXPORT_JPDUMP_MAILDIR $GLITE_LB_DUMP_EXPORTER_OTHER_OPTIONS
+ if [ x"$GLITE_LB_EXPORT_ENABLED" = x"true" ]; then
+ $PREFIX/bin/glite-lb-dump_exporter -d $file -s $GLITE_LB_EXPORT_JOBSDIR -m $GLITE_LB_EXPORT_JPDUMP_MAILDIR $GLITE_LB_DUMP_EXPORTER_OTHER_OPTIONS
+ fi
if [ -n "$GLITE_LB_EXPORT_PURGEDIR_KEEP" ]; then
mv $file $GLITE_LB_EXPORT_PURGEDIR_KEEP
else
fi
done
+if [ x"$GLITE_LB_EXPORT_ENABLED" = x"true" ]; then
if [ -n "$GLITE_LB_EXPORT_DUMPDIR_KEEP" ]; then
ls $GLITE_LB_EXPORT_DUMPDIR | xargs -i'{}' cp $GLITE_LB_EXPORT_DUMPDIR/'{}' $GLITE_LB_EXPORT_DUMPDIR_KEEP;
else
ret = edg_wll_gss_accept(ctx->connPoolNotif[0].gsiCred, recv_sock,
&tv, &ctx->connPoolNotif[0].gss,&gss_code);
- if (ret) {
- edg_wll_SetError(ctx, errno, "GSS authentication failed.");
- goto err;
+
+ switch (ret) {
+ case EDG_WLL_GSS_OK:
+ break;
+ case EDG_WLL_GSS_ERROR_ERRNO:
+ edg_wll_SetError(ctx,errno,"failed to receive notification");
+ goto err;
+ case EDG_WLL_GSS_ERROR_GSS:
+ edg_wll_SetErrorGss(ctx, "failed to authenticate sender", &gss_code);
+ goto err;
+ case EDG_WLL_GSS_ERROR_EOF:
+ edg_wll_SetError(ctx,ECONNREFUSED,"sender closed the connection");
+ goto err;
+ case EDG_WLL_GSS_ERROR_TIMEOUT:
+ edg_wll_SetError(ctx,ETIMEDOUT,"accepting notification");
+ goto err;
+ default:
+ edg_wll_SetError(ctx, ENOTCONN, "failed to accept notification");
+ goto err;
}
-
+
/* check time */
gettimeofday(&check_time,0);
if (decrement_timeout(&tv, start_time, check_time)) {