added Condor stuff, including state machine
authorJan Pospíšil <honik@ntc.zcu.cz>
Thu, 17 May 2007 17:46:50 +0000 (17:46 +0000)
committerJan Pospíšil <honik@ntc.zcu.cz>
Thu, 17 May 2007 17:46:50 +0000 (17:46 +0000)
22 files changed:
org.glite.lb.client-interface/interface/context.h
org.glite.lb.client-interface/interface/events.h.T
org.glite.lb.client/src/Event.cpp.T
org.glite.lb.common/interface/context-int.h
org.glite.lb.common/src/context.c
org.glite.lb.common/src/events.c.T
org.glite.lb.common/src/events_parse.c.T
org.glite.lb.common/src/trio.c
org.glite.lb.common/src/xml_parse.c.T
org.glite.lb.common/test/parse.cpp.T
org.glite.lb.server/Makefile
org.glite.lb.server/src/get_events.c.T
org.glite.lb.server/src/jobstat.h
org.glite.lb.server/src/jobstat_supp.c
org.glite.lb.server/src/lb_xml_parse.c.T
org.glite.lb.server/src/lb_xml_parse_V21.c.T
org.glite.lb.server/src/process_event.c
org.glite.lb.server/src/store.c.T
org.glite.lb.server/src/ws_typeref.c.T
org.glite.lb.server/test/test_xml.cpp.T
org.glite.lb/project/events.T
org.glite.lb/project/status.T

index 284b1af..c3c347b 100644 (file)
@@ -234,6 +234,7 @@ edg_wll_QueryResults edg_wll_StringToQResult(const char *name);
 #define EDG_WLL_SEQ_NORMAL      1
 #define EDG_WLL_SEQ_DUPLICATE   11
 #define EDG_WLL_SEQ_PBS                2
+#define EDG_WLL_SEQ_CONDOR     3
 
 /**
  * initial sequence code for BigHelper
index 1ba8356..f9f5693 100644 (file)
@@ -309,6 +309,7 @@ for my $t (sort { $event->{order}->{$a} <=> $event->{order}->{$b} }
                $event->getTypes) {
        my $tl = lcfirst $t;
        if ($tl =~ m/^pBS/) { $tl = ucfirst $tl; }
+       if ($tl =~ m/^condor/) { $tl = ucfirst $tl; }
        gen $indent."edg_wll_${t}Event\t${tl};\n";
 }
 @@@}
index 0c8f975..7b4ef43 100644 (file)
@@ -40,6 +40,7 @@ sub typeswitch {
                if($ctype{$f->{type}}) {
                  my $cstr = $ftype eq '_common_' ? 'any' : lcfirst $ftype;
                  if ($cstr =~ m/^pBS/) { $cstr = ucfirst $cstr; }
+                 if ($cstr =~ m/^condor/) { $cstr = ucfirst $cstr; }
                  my $cname = getName $f 'C';
                  gen "$indent\tcase Event::".uc($f->{name}).": return(cev->$cstr.$cname);\n";
                } elsif (($f->{type} eq "int") && 
@@ -48,6 +49,7 @@ sub typeswitch {
                  # conversion from int to string (well, enum to string)
                  my $cstr = $ftype eq '_common_' ? 'any' : lcfirst $ftype;
                  if ($cstr =~ m/^pBS/) { $cstr = ucfirst $cstr; }
+                 if ($cstr =~ m/^condor/) { $cstr = ucfirst $cstr; }
                  my $cname = getName $f 'C';
                  my $fn = $ftype eq '_common_' ? "" : ucfirst $ftype;
                  my $c =  $fn . ucfirst $f->{name}; 
index 70f16ad..a777725 100644 (file)
@@ -15,8 +15,10 @@ extern "C" {
        
 #define EDG_WLL_SEQ_NULL "UI=000000:NS=0000000000:WM=000000:BH=0000000000:JSS=000000:LM=000000:LRMS=000000:APP=000000:LBS=000000"
 #define EDG_WLL_SEQ_PBS_NULL "TIMESTAMP=00000000000000:POS=0000000000:EV.CODE=000:SRC=?" 
+#define EDG_WLL_SEQ_CONDOR_NULL EDG_WLL_SEQ_PBS_NULL
 #define EDG_WLL_SEQ_SIZE        103    /* strlen(EDG_WLL_SEQ_NULL)+1 */
 #define EDG_WLL_SEQ_PBS_SIZE   57      /* strlen(EDG_WLL_SEQ_PBS_NULL)+1 */
+#define EDG_WLL_SEQ_CONDOR_SIZE EDG_WLL_SEQ_PBS_SIZE
 
 typedef struct _edg_wll_SeqCode {
        unsigned int    type;                           /* seq code type    */
@@ -26,7 +28,7 @@ typedef struct _edg_wll_SeqCode {
                                /* 25-39 POS=%010u: */
                                /* 40-51 EV.CODE=%03d: */
                                /* 53-56 SRC=%c */
-                               
+       char            condor[EDG_WLL_SEQ_CONDOR_SIZE];                        
 } edg_wll_SeqCode;
 
 /* non-gsi one-element analogy of connPool for L&B Proxy server */
index ed04cb2..8be7d2c 100644 (file)
@@ -334,6 +334,9 @@ char *edg_wll_GetSequenceCode(const edg_wll_Context ctx)
                case EDG_WLL_SEQ_PBS:
                        ret = strdup(ctx->p_seqcode.pbs);
                        break;
+               case EDG_WLL_SEQ_CONDOR:
+                       ret = strdup(ctx->p_seqcode.condor);
+                       break;
                default:
                        edg_wll_SetError(ctx,EINVAL,"edg_wll_GetSequenceCode(): sequence code type");
                        return NULL;
@@ -395,6 +398,12 @@ int edg_wll_SetSequenceCode(edg_wll_Context ctx,
                        else
                                strncpy(ctx->p_seqcode.pbs, seqcode_str, sizeof(ctx->p_seqcode.pbs));
                        break;
+               case EDG_WLL_SEQ_CONDOR:
+                       if (!seqcode_str) 
+                               memset(&ctx->p_seqcode.condor, 0, sizeof ctx->p_seqcode.condor);
+                       else
+                               strncpy(ctx->p_seqcode.condor, seqcode_str, sizeof(ctx->p_seqcode.condor));
+                       break;
                default:
                        return edg_wll_SetError(ctx, EINVAL,
                                "edg_wll_SetSequenceCode(): unrecognized value of seq_type parameter");
index d46529c..7d62fd9 100644 (file)
@@ -279,6 +279,7 @@ for my $t (sort { $event->{order}->{$a} <=> $event->{order}->{$b} }
        my $tu = uc $t;
        my $tl = lcfirst $t;
        if ($tl =~ m/^pBS/) { $tl = ucfirst $tl; }
+       if ($tl =~ m/^condor/) { $tl = ucfirst $tl; }
        gen $indent."case EDG_WLL_EVENT_$tu : \n";
        selectType $event $t;
        for ($event->getFieldsOrdered) {
@@ -332,6 +333,7 @@ for my $t (sort { $event->{order}->{$a} <=> $event->{order}->{$b} }
        my $tu = uc $t;
        my $tl = lcfirst $t;
        if ($tl =~ m/^pBS/) { $tl = ucfirst $tl; }
+       if ($tl =~ m/^condor/) { $tl = ucfirst $tl; }
        gen $indent."case EDG_WLL_EVENT_$tu :\n";
        selectType $event $t;
        for ($event->getFieldsOrdered) {
index 5274f0b..f656175 100644 (file)
@@ -132,6 +132,7 @@ for my $t (sort { $event->{order}->{$a} <=> $event->{order}->{$b} }
        my $tu = uc $t;
        my $tl = lcfirst $t;
        if ($tl =~ m/^pBS/) { $tl = ucfirst $tl; }
+       if ($tl =~ m/^condor/) { $tl = ucfirst $tl; }
        my $misuse = "if (eventcode != EDG_WLL_EVENT_$tu ) MISUSE";
        selectType $event $t;
        for ($event->getFieldsOrdered) {
@@ -259,6 +260,7 @@ for my $t (sort { $event->{order}->{$a} <=> $event->{order}->{$b} }
        my $tu = uc $t;
        my $tl = lcfirst $t;
        if ($tl =~ m/^pBS/) { $tl = ucfirst $tl; }
+       if ($tl =~ m/^condor/) { $tl = ucfirst $tl; }
        my $free = "";
        gen $indent."case EDG_WLL_EVENT_$tu :\n";
        gen "\t\{";
@@ -392,6 +394,7 @@ for my $t (sort { $event->{order}->{$a} <=> $event->{order}->{$b} }
        my $tu = uc $t;
        my $tl = lcfirst $t;
        if ($tl =~ m/^pBS/) { $tl = ucfirst $tl; }
+       if ($tl =~ m/^condor/) { $tl = ucfirst $tl; }
        gen $indent."case EDG_WLL_EVENT_$tu :\n";
        selectType $event $t;
        for ($event->getFieldsOrdered) {
@@ -452,6 +455,7 @@ edg_wll_ErrorCode edg_wll_CompareEvents(
                my $tu = uc $t;
                my $tl = lcfirst $t;
                if ($tl =~ m/^pBS/) { $tl = ucfirst $tl; }
+               if ($tl =~ m/^condor/) { $tl = ucfirst $tl; }
 
                selectType $event $t;
                gen "\t\tcase EDG_WLL_EVENT\_$tu :\n";
@@ -622,6 +626,7 @@ for (i=0; i<table->num; i++) {
        my $tu = uc $t;
        my $tl = lcfirst $t;
        if ($tl =~ m/^pBS/) { $tl = ucfirst $tl; }
+       if ($tl =~ m/^condor/) { $tl = ucfirst $tl; }
        my $misuse = "if (eventcode != EDG_WLL_EVENT_$tu ) MISUSE";
        selectType $event $t;
        for ($event->getFieldsOrdered) {
@@ -721,6 +726,7 @@ $indent = "   ";
        my $tu = uc $t;
        my $tl = lcfirst $t;
        if ($tl =~ m/^pBS/) { $tl = ucfirst $tl; }
+       if ($tl =~ m/^condor/) { $tl = ucfirst $tl; }
        my $free = "";
 ##     gen $indent."case EDG_WLL_EVENT_$tu :\n";
        gen "\t\{";
index d46736e..700a7e2 100644 (file)
@@ -672,7 +672,7 @@ typedef struct _userdef_T {
  * Internal variables
  */
 
-static const char null[] = "(nil)";
+static const char null[] = "";
 
 #if defined(USE_LOCALE)
 static struct lconv *internalLocaleValues = NULL;
index 3b7cecc..418af9e 100644 (file)
@@ -815,6 +815,7 @@ static void endQueryEvents(void *data, const char *el UNUSED_VAR)
                         my $ft = $f->{type};
                        $fo[0] = $fo[0] eq '_common_' ? 'any' : lcfirst $fo[0];
                        if ($fo[0] =~ m/^pBS/) { $fo[0] = ucfirst $fo[0]; }
+                       if ($fo[0] =~ m/^condor/) { $fo[0] = ucfirst $fo[0]; }
                         gen "$bi   XMLCtx->eventsOutGlobal[XMLCtx->position].$fo[0].$t =\n";
                         gen "$bi \tedg_wll_from_string_to_$ft(XMLCtx);\n";
                 }
@@ -828,6 +829,7 @@ static void endQueryEvents(void *data, const char *el UNUSED_VAR)
                                my $u = uc $_;
                                $_ = lcfirst $_;
                                if ($_ =~ m/^pBS/) { $_ = ucfirst $_; }
+                               if ($_ =~ m/^condor/) { $_ = ucfirst $_; }
                                gen "$bi     case EDG_WLL_EVENT_$u :\n";
                                gen "$bi \t  XMLCtx->eventsOutGlobal[XMLCtx->position].$_.$t =\n";
                                gen "$bi \t    edg_wll_from_string_to_$ft(XMLCtx);\n";
index 5045494..4cd50ac 100644 (file)
@@ -16,6 +16,7 @@ class EventParseTest: public  CppUnit::TestFixture
         for my $e ($event->getTypesOrdered) {
                 my $u = lcfirst $e;
                if ($u =~ m/^pBS/) { $u = ucfirst $u; }
+               if ($u =~ m/^condor/) { $u = ucfirst $u; }
                 my $c = getTypeComment $event $e;
                 gen "\tCPPUNIT_TEST($u);\n";
         }
@@ -30,6 +31,7 @@ public:
         for my $e ($event->getTypesOrdered) {
                 my $u = lcfirst $e;
                if ($u =~ m/^pBS/) { $u = ucfirst $u; }
+               if ($u =~ m/^condor/) { $u = ucfirst $u; }
                 my $c = getTypeComment $event $e;
                 gen "\tvoid $u();\n";
         }
@@ -87,6 +89,7 @@ void EventParseTest::regJob()
         for my $e ($event->getTypesOrdered) {
                 my $l = lcfirst $e;
                if ($l =~ m/^pBS/) { $l = ucfirst $l; }
+               if ($l =~ m/^condor/) { $l = ucfirst $l; }
                 my $u = uc $e;
                 my $c = getTypeComment $event $e;
                 gen "
index 64708c2..19f2269 100644 (file)
@@ -177,10 +177,10 @@ COMMON_LIBS:= -L${stagedir}/lib  -lglite_lb_common_${nothrflavour} -lglite_secur
 PLUGIN_LIBS:= -L${stagedir}/lib -lglite_lb_common_${nothrflavour}\
        ${classadslib} -lstdc++ ${expatlib} -lexpat\
 
-PLUGIN_LOBJS:= lb_plugin.lo jobstat_supp.lo process_event.lo lbs_db_supp.lo process_event_pbs.lo
+PLUGIN_LOBJS:= lb_plugin.lo jobstat_supp.lo process_event.lo lbs_db_supp.lo process_event_pbs.lo process_event_condor.lo
 
 BKSERVER_BASE_OBJS:= \
-       bkserverd.o il_lbproxy.o get_events.o index.o jobstat.o jobstat_supp.o process_event.o process_event_pbs.o \
+       bkserverd.o il_lbproxy.o get_events.o index.o jobstat.o jobstat_supp.o process_event.o process_event_pbs.o process_event_condor.o \
        seqcode.o write2rgma.o lbs_db.o lbs_db_supp.o lb_html.o lb_http.o lb_proto.o lb_xml_parse.o \
        lb_xml_parse_V21.o \
        lock.o openserver.o query.o userjobs.o db_store.o request.o store.o \
@@ -212,7 +212,7 @@ else
 endif
 
 INDEX_OBJS:= index.o index_parse.o jobstat_supp.o lbs_db.o lbs_db_supp.o openserver.o \
-       jobstat.o process_event.o process_event_pbs.o query.o lock.o get_events.o write2rgma.o index_lex.o \
+       jobstat.o process_event.o process_event_pbs.o process_event_condor.o query.o lock.o get_events.o write2rgma.o index_lex.o \
        lb_authz.o store.o bkindex.o stats.o\
        request.o db_store.o srv_purge.o notif_match.o il_lbproxy.o dump.o lb_xml_parse.o il_notification.o lb_proto.o server_state.o lb_xml_parse_V21.o lb_html.o notification.o seqcode.o userjobs.o load.o
 
@@ -233,7 +233,7 @@ WS_CLIENT_LIBS:= ${GSOAP_LIB} -lglite_lb_common_${nothrflavour} \
 HDRS=index.h lb_authz.h lbs_db.h store.h
 
 LIB_OBJS_BK:= \
-       il_lbproxy.o get_events.o index.o jobstat.o jobstat_supp.o process_event.o process_event_pbs.o \
+       il_lbproxy.o get_events.o index.o jobstat.o jobstat_supp.o process_event.o process_event_pbs.o process_event_condor.o \
        seqcode.o lbs_db.o lbs_db_supp.o lb_html.o lb_http.o lb_proto.o lb_xml_parse.o \
        lb_xml_parse_V21.o \
        lock.o openserver.o query.o userjobs.o db_store.o request.o store.o \
index c58c523..306921b 100644 (file)
@@ -122,6 +122,7 @@ static void edg_wll_set_event_field(
                        my $uctype = uc $_;
                        my $flctype = lcfirst $_;
                        if ($flctype =~ m/^pBS/) { $flctype = ucfirst $flctype; }
+                       if ($flctype =~ m/^condor/) { $flctype = ucfirst $flctype; }
                        my $frs = $f->{codes} ?
                                "event->$flctype.$name = edg_wll_StringTo$_${fucname}(value);" :
                                fromString $f 'value',"event->$flctype.$name";
index 8514751..64e32b1 100644 (file)
@@ -67,6 +67,20 @@ typedef enum _edg_wll_PBSEventSource {
        EDG_WLL_PBS_EVENT_SOURCE__LAST
 } edg_wll_PBSEventSource;
 
+typedef enum _edg_wll_CondorEventSource {
+       EDG_WLL_CONDOR_EVENT_SOURCE_UNDEF = 0,
+       EDG_WLL_CONDOR_EVENT_SOURCE_COLLECTOR,
+       EDG_WLL_CONDOR_EVENT_SOURCE_MASTER,
+       EDG_WLL_CONDOR_EVENT_SOURCE_MATCH,
+       EDG_WLL_CONDOR_EVENT_SOURCE_NEGOTIATOR,
+       EDG_WLL_CONDOR_EVENT_SOURCE_SCHED,
+       EDG_WLL_CONDOR_EVENT_SOURCE_SHADOW,
+       EDG_WLL_CONDOR_EVENT_SOURCE_STARTER,
+       EDG_WLL_CONDOR_EVENT_SOURCE_START,
+       EDG_WLL_CONDOR_EVENT_SOURCE_JOBQUEUE,
+       EDG_WLL_CONDOR_EVENT_SOURCE__LAST
+} edg_wll_CondorEventSource;
+
 void destroy_intJobStat(intJobStat *);
 void destroy_intJobStat_extension(intJobStat *p);
 
@@ -95,11 +109,14 @@ int component_seqcode(const char *a, edg_wll_Source index);
 char * set_component_seqcode(char *s,edg_wll_Source index,int val);
 int processEvent(intJobStat *, edg_wll_Event *, int, int, char **);
 int processEvent_PBS(intJobStat *, edg_wll_Event *, int, int, char **);
+int processEvent_Condor(intJobStat *, edg_wll_Event *, int, int, char **);
 
 int add_stringlist(char ***, const char *);
 int edg_wll_compare_seq(const char *, const char *);
 int edg_wll_compare_pbs_seq(const char *,const char *);
+#define edg_wll_compare_condor_seq edg_wll_compare_pbs_seq
 edg_wll_PBSEventSource get_pbs_event_source(const char *pbs_seq_num);
+edg_wll_CondorEventSource get_condor_event_source(const char *pbs_seq_num);
 
 void init_intJobStat(intJobStat *p);
 
index f8d4615..c6d5bf8 100644 (file)
@@ -892,6 +892,21 @@ edg_wll_PBSEventSource get_pbs_event_source(const char *pbs_seq_num) {
        }
 }
 
+edg_wll_CondorEventSource get_condor_event_source(const char *condor_seq_num) {
+       switch (condor_seq_num[EDG_WLL_SEQ_CONDOR_SIZE-1]) {
+               case 'L': return(EDG_WLL_CONDOR_EVENT_SOURCE_COLLECTOR);
+               case 'M': return(EDG_WLL_CONDOR_EVENT_SOURCE_MASTER);
+               case 'm': return(EDG_WLL_CONDOR_EVENT_SOURCE_MATCH);
+               case 'N': return(EDG_WLL_CONDOR_EVENT_SOURCE_NEGOTIATOR);
+               case 'C': return(EDG_WLL_CONDOR_EVENT_SOURCE_SCHED);
+               case 'H': return(EDG_WLL_CONDOR_EVENT_SOURCE_SHADOW);
+               case 's': return(EDG_WLL_CONDOR_EVENT_SOURCE_STARTER);
+               case 'S': return(EDG_WLL_CONDOR_EVENT_SOURCE_START);
+               case 'j': return(EDG_WLL_CONDOR_EVENT_SOURCE_JOBQUEUE);
+               default: return(EDG_WLL_CONDOR_EVENT_SOURCE_UNDEF);
+       }
+}
+
 int edg_wll_compare_seq(const char *a, const char *b)
 {
        unsigned int    c[EDG_WLL_SOURCE__LAST];
index a165486..764b188 100644 (file)
@@ -1493,6 +1493,7 @@ int edg_wll_QueryEventsToXML(edg_wll_Context ctx, edg_wll_Event *eventsOut, char
                                my $n = $f->{null};
                                $t = lcfirst $t;
                                if ($t =~ m/^pBS/) { $t = ucfirst $t; }
+                               if ($t =~ m/^condor/) { $t = ucfirst $t; }
                                 gen "\t\tedg_wll_add_$ft\_to_XMLBody(&pomB, eventsOut[i].$t.$_, \"$_\", $n);\n";
                         }
                        gen "\t\tbreak;\n";
index b1ddbb0..259453a 100644 (file)
@@ -873,6 +873,7 @@ int edg_wll_QueryEventsToXMLV21(edg_wll_Context ctx UNUSED_VAR, edg_wll_Event *e
                                my $n = $f->{null};
                                $t = lcfirst $t;
                                if ($t =~ m/^pBS/) { $t = ucfirst $t; }
+                               if ($t =~ m/^condor/) { $t = ucfirst $t; }
                                 gen "\t\tedg_wll_add_$ft\_to_XMLBody(&pomB, eventsOut[i].$t.$_, \"$_\", $n);\n";
                         }
                        gen "\t\tbreak;\n";
index de0b038..19b4dec 100644 (file)
@@ -40,6 +40,9 @@ int processEvent(intJobStat *js, edg_wll_Event *e, int ev_seq, int strict, char
                        case EDG_WLL_REGJOB_PBS:
                                js->pub.jobtype = EDG_WLL_STAT_PBS;
                                break;
+                       case EDG_WLL_REGJOB_CONDOR:
+                               js->pub.jobtype = EDG_WLL_STAT_CONDOR;
+                               break;
                        default:
                                asprintf(errstring,"unknown job type %d in registration",e->regJob.jobtype);
                                return RET_FAIL;
@@ -52,6 +55,8 @@ int processEvent(intJobStat *js, edg_wll_Event *e, int ev_seq, int strict, char
                        return processEvent_glite(js,e,ev_seq,strict,errstring);
                case EDG_WLL_STAT_PBS: 
                        return processEvent_PBS(js,e,ev_seq,strict,errstring);
+               case EDG_WLL_STAT_CONDOR: 
+                       return processEvent_Condor(js,e,ev_seq,strict,errstring);
                case -1: return RET_UNREG;
                default: 
                        asprintf(errstring,"undefined job type %d",js->pub.jobtype);
index a8339c1..28f32c6 100644 (file)
@@ -395,6 +395,7 @@ static int store_flesh(edg_wll_Context ctx,edg_wll_Event *e,char *jobid,int no)
                my $uctype = uc $type;
                my $flctype = lcfirst $type;
                if ($flctype =~ m/^pBS/) { $flctype = ucfirst $flctype; }
+               if ($flctype =~ m/^condor/) { $flctype = ucfirst $flctype; }
                gen qq{
 !              case EDG_WLL_EVENT_$uctype:
 };
index 0fba603..03cb8a0 100644 (file)
@@ -33,6 +33,7 @@ sub eventFieldAssign {
        $tn = $f->{type};
        $native_en = lcfirst $e;
        if ($native_en =~ m/^pBS/) { $native_en = ucfirst $native_en; }
+       if ($native_en =~ m/^condor/) { $native_en = ucfirst $native_en; }
        $native_fn = $f->{name};
        $soap_en = $e;
        while ($soap_en =~ /([[:alpha:]]*)_([[:alpha:]_]*)/) {
@@ -1054,6 +1055,7 @@ static int edg_wll_SoapToEvent(
                                } else {
                                        $act = lcfirst $name;
                                        if ($act =~ m/^pBS/) { $act = ucfirst $act; }
+                                       if ($act =~ m/^condor/) { $act = ucfirst $act; }
                                }
                                my $usuc = $fn;
                                $usuc = $1.uc($2).$3 while ($usuc =~ /([^_]*)_([a-z])(.*)/);
index 775d12a..3cfe623 100644 (file)
@@ -47,6 +47,7 @@ static char * compare_events(const edg_wll_Event *e1, const edg_wll_Event *e2)
                my $tu = uc $t;
                my $tl = lcfirst $t;
                if ($tl =~ m/^pBS/) { $tl = ucfirst $tl; }
+               if ($tl =~ m/^condor/) { $tl = ucfirst $tl; }
 
                selectType $event $t;
                gen "\t\tcase EDG_WLL_EVENT\_$tu :\n";
index 0b675c7..d9602d0 100644 (file)
 
 @type CondorMatch      Job MATCHed
        string  owner           Owner
-       string  matched_host    Matched host
+       string  dest_host       Matched host
        string  preempting      Preempting
        _optional_
 
        _code_  NOMATCH         No match found
        _code_  OTHER           Other reason
 
-@type CondorRun                Condor EXECUTEed
-       string  condor_id       Condor ID
-       string  universe        Condor Universe
-       string  scheduler       Scheduler ID
-       _optional_
-       string  dest_host       Where to run the job
+@type CondorShadowStarted      Condor Shadow Started
+       string  shadow_host     Shadow host
+       port    shadow_port     Shadow port
+       int     shadow_pid      PID of shadow process
+       string  shadow_status   Shadow status
        _optional_
-       int     pid             Actual process ID
-       _optional_
-
-@type CondorChkpt
-       string  info            Some useful info
-
-@type CondorEvict
-       int     shadow_exit_status      Condor shadow exit status
-       string  reason          reason
 
-@type CondorTerminate
-       int     shadow_exit_status      Condor shadow exit status
-       string  reason          reason
+@type CondorShadowExited       Condor Shadow Exited
+       int     shadow_pid      PID of shadow process
+       int     shadow_exit_status      Exit status of shadow process
 
-@type CondorAbort
-       int     shadow_exit_status      Condor shadow exit status
-       string  reason          reason
-
-@type CondorSuspend
-       int     shadow_exit_status      Condor shadow exit status
-       string  reason          reason
-
-@type CondorUnsuspend
-       int     shadow_exit_status      Condor shadow exit status
-       string  reason          reason
-
-@type CondorHold
-       int     shadow_exit_status      Condor shadow exit status
-       string  reason          reason
-
-@type CondorRelease
-       int     shadow_exit_status      Condor shadow exit status
-       string  reason          reason
-
-@type CondorNodeExecute
-       string  info            Some useful info
+@type CondorStarterStarted     Condor Starter Started
+       int     starter_pid     PID of starter process
+       _optional_
+       string  universe        Condor Universe
+       _optional_
 
-@type CondorNodeTerminate
-       string  info            Some useful info
+@type CondorStarterExited      Condor Starter Exited
+       int     starter_pid     PID of starter process
+       _optional_
+       int     starter_exit_status     Exit status of starter process
+       _optional_
+       int     job_pid         PID of running job
+       _optional_
+       int     job_exit_status Job exit status
+       _optional_
 
-@type CondorPostSctiptTerminate
-       string  info            Some useful info
+@type CondorResourceUsage       Resources requested/consumed
+       int     usage           Type of record
+       _code_  REQUESTED       Requested value
+       _code_  USED            Consumed quantity
+       string  name            Name of resource
+       double  quantity        The quantity
+       _optional_              Bypass need of 'null value'
+       string  unit            Units (sec, kB, etc.)
 
-@type CondorGlobusSubmit
-       int     status_code
-       _code_  OK              The job was submitted successfully
-       _code_  FAIL            Job submission failed
-       string  info            Some useful info
+@type CondorError              Any Error occured
+       string  error_desc      Error reason
 
-@type CondorGlobusResource
-       int     status_code     Status code
-       _code_  UP              Resource UP
-       _code_  DOWN            Resource DOWM
-       string  info            Some useful info
index cae5f17..2fcb7bd 100644 (file)
@@ -91,11 +91,15 @@ string      pbs_error_desc  Glued error descriptions from error events
 string condor_status   Condor job status 
 string condor_universe Condor job Universe (in job ClassAds)
 string condor_owner    Job owner
-string condor_pid      PID of running job
-int    condor_notification     Condor notification 
-int    condor_job_exit_status  Job exit status
-int    condor_starter_exit_status      Condor starter exit status
+int    condor_shadow_pid       PID of Shadow
 int    condor_shadow_exit_status       Condor shadow exit status (see h/exit.h)
+int    condor_starter_pid      PID of Starter
+int    condor_starter_exit_status      Condor starter exit status
+int    condor_job_pid  PID of running job
+int    condor_job_exit_status  Job exit status
+string condor_dest_host Hostname of node where job is running
+string condor_reason   Glued reasons/errors leading to pending events
+string condor_error_desc       Glued error descriptions from error events
 
 
 @type Submitted                Entered by the user to the User Interface or registered by Job Partitioner.