merge from branch_RC31_3
authorJan Pospíšil <honik@ntc.zcu.cz>
Tue, 16 Oct 2007 15:55:48 +0000 (15:55 +0000)
committerJan Pospíšil <honik@ntc.zcu.cz>
Tue, 16 Oct 2007 15:55:48 +0000 (15:55 +0000)
org.glite.lb.types/MultiStruct.pm
org.glite.lb.types/events.T
org.glite.lb.types/status.T
org.glite.lb.types/types.T

index 3f8e3f1..7c009d7 100644 (file)
@@ -8,6 +8,7 @@ sub new {
        $self->{comments} = {}; # typ->comment
        $self->{fields} = {};   # typ->{ name->StructField, ... }
        $self->{order} = {};
+       $self->{flesh} = {};
 
        bless $self;
 }
@@ -55,6 +56,7 @@ sub load {
        my $self = shift;
        my $fh = shift;
        local $_;
+       my $flesh = 'common';
 
        while ($_ = <$fh>) {
 
@@ -65,6 +67,12 @@ sub load {
                if (/^\@type\s+(\S+)\s*(.*$)$/) {
                        $self->addType($1,$2);
                        $self->{order}->{$1} = $.;
+                       $self->{flesh}->{$1} = $flesh;
+                       next;
+               }
+
+               if (/^\@flesh\s+(\S+)\s*(.*$)$/) {
+                       $flesh = $1;
                        next;
                }
 
@@ -94,6 +102,10 @@ sub load {
                        my $f = $self->getField();
                        $f->{index} = 1;
                }
+               elsif ($ftype eq '_pad_') {
+                       my $f = $self->getField();
+                       $f->{pad} = $fname;
+               }
                else {
                        my $f = new StructField $fname,$ftype,$comment,$.;
                        $self->addField($f);
index 04473d0..70ead14 100644 (file)
@@ -28,6 +28,8 @@
        string  src_instance    Instance of source component (e.g. service communication endpoint).
        _optional_
 
+@flesh gLite
+
 @type Transfer         Start, success, or failure of job transfer to another component.
        logsrc  destination     Destination where the job is being transfered to.
        string  dest_host       Hostname of server that takes over control of the job.
@@ -50,6 +52,7 @@
        string  from_instance   Instance of the component the job was received from.
        _optional_
        string  local_jobid     New job id as assigned by the receiving component.
+       _optional_
 
 @type Refused          Refusing job (unsuccessful counterpart to Transfer).
        logsrc  from            The software component that tried to send the job.
        string  from_instance   Instance of the component that tried to send the job.
        _optional_
        string  reason          Description of the reason why the job was refused.
+       _optional_
 
 @type EnQueued         The job has been enqueued in an inter-component queue.
        string  queue           Queue into which the job has been stored for retrieval by another component.
        string  job             Job description in the receiver's language.
+       _optional_
        int     result          Result code of the attempt to put job into the queue (START, OK, REFUSED or FAIL).
        _code_  START           The sending component has started or is about to start enqueuing the job.
        _code_  OK              The job was enqueued successfully.
        _code_  REFUSED         The job was refused by the other component.
        _code_  FAIL            The transfer failed for other reason than explicit refusal.
        string  reason          Detailed description of the attempt to enqueue the job, especially the reason of failure.
+       _optional_
 
 @type DeQueued         The job has been dequeued from an inter-component queue.
        string  queue           Name of the queue the job was obtained from.
        string  local_jobid     New job id as assigned by the retreiving component.
+       _optional_
 
 @type HelperCall       Helper component is called.
        string  helper_name     Name of the called helper component.
        string  helper_params   Parameters of the call to the helper component.
+       _optional_
        int     src_role        The role the event sender is playing in the helper call (CALLING or CALLEE).
        _code_  CALLING         The logging component is caller.
        _code_  CALLED          The logging component is callee.
@@ -82,6 +90,7 @@
 @type HelperReturn     Helper component is returning the control.
        string  helper_name     Name of the called helper component.
        string  retval          Data returned by the call to the helper component.
+       _optional_
        int     src_role        The role the event sender is playing in the helper call (CALLING or CALLEE).
        _code_  CALLING         The logging component is caller.
        _code_  CALLED          The logging component is callee.
        _code_  WONTRESUB       The job will not be resubmitted.
        _code_  SHALLOW         Shallow resubmission (user payload has not started yet)
        string  reason          Reason why the job will or will not be resubmitted.
+       _optional_
        string  tag             Value of the attribute on which the decision to resubmit the job was based.
+       _optional_
 
 @type Done             Execution terminated (normally or abnormally).
        int     status_code     Reason code for the termination of the job (OK, FAILED or CANCELLED).
        _code_  FAILED          The job disappeared from LRMS.
        _code_  CANCELLED       The job was cancelled by user request.
        string  reason          Detailed description why the job was terminated.
+       _optional_
        int     exit_code       Exit code of the job's process.
        _null_  -1
 
        _code_  DONE            The request was completed by whole WMS.
        _code_  ABORT           The request was refused by whole WMS.
        string  reason          Detailed description of the attempt to cancel the job, especially the reason of failure.
+       _optional_
 
 @type Abort            Job aborted by system.
        string  reason          Reason why the job was aborted by the system.
 
 @type RegJob           New job registration.
        string  jdl             Job description of the job being registered.
+       _optional_
        string  ns              NetworkServer handling the newly registered job.
        jobid   parent          Grid job id of the parent job registering this new one.
        _optional_
        string  unit            Units (sec, kB, etc.).
 
 @type ReallyRunning    User payload started.
-       _optional_
        string  wn_seq          Sequence code on the worker node.
+       _optional_
 
 @type Suspend          Job execution (queuing) was suspended.
-       _optional_
        string  reason          Reason for the suspend.
+       _optional_
 
 @type Resume           Job execution (queuing) was resumed.
-       _optional_
        string  reason          Reason for the resume.
+       _optional_
 
 @type CollectionState  State of the collection.
        string  state           New collection state.
-       _optional_
        int     done_code       In case of (state == Done) contains done code 
+       _optional_
        _null_  -1
        string  histogram       User readable histogram; useful for debugging.
        jobid   child           JobId of subjob, which triggered the state change.      
        string  child_event     Event which triggered the state change. 
 
+@flesh PBS
 
 @type PBSQueued                Job enqued
        string  queue           Queue name
 @type PBSError         Any error occured
        string  error_desc      Error reason
 
+@flesh Condor
+
 @type CondorMatch      Job MATCHed
        string  owner           Owner
        string  dest_host       Matched host
 @type CondorShadowExited       Condor Shadow Exited
        int     shadow_pid      PID of shadow process
        int     shadow_exit_status      Exit status of shadow process
+       _null_  -1
 
 @type CondorStarterStarted     Condor Starter Started
        int     starter_pid     PID of starter process
        int     starter_pid     PID of starter process
        _optional_
        int     starter_exit_status     Exit status of starter process
+       _null_  -1
        _optional_
        int     job_pid         PID of running job
        _optional_
        int     job_exit_status Job exit status
+       _null_  -1
        _optional_
 
 @type CondorResourceUsage       Resources requested/consumed
index 2fcb7bd..a444a19 100644 (file)
@@ -7,6 +7,8 @@ int     jobtype         Type of job
        _null_  -1
        _code_ SIMPLE           simple job
        _code_ DAG              composite job
+       _code_ _PARTITIONABLE_UNUSED    placholder for unused code
+       _code_ _PARTITIONED_UNUSED      placholder for unused code
        _code_ COLLECTION       parent of collection of jobs
        _code_ PBS              PBS job
        _code_ CONDOR           Condor job
@@ -58,7 +60,9 @@ taglist       user_tags       List of pairs (user_tag, user_value)
        _special_       XMLstructured
 
 timeval        stateEnterTime  When entered this status
+_index_
 timeval        lastUpdateTime  Last known event of the job
+_index_
 
 intlist        stateEnterTimes When all previous states were entered
        _special_       XMLstructured
@@ -76,6 +80,10 @@ strlist possible_ce_nodes    CE nodes matching to possible_destinations
 bool   suspended       Job is suspended
 string suspend_reason  Reason for the suspend
 
+string failure_reasons Concatenated job failure reasons, possibly from deeper middleware layers
+
+_pad_  55
+
 string pbs_state       Job state which would probably return PBS qstat (Q/R/C/....)
 string  pbs_queue      Name of queue in which is job queued
 string  pbs_owner      Owner of job
@@ -88,9 +96,12 @@ string       pbs_resource_usage      Glued resource usage
 int    pbs_exit_status Job exit status
 string pbs_error_desc  Glued error descriptions from error events
 
+_pad_  20
+
 string condor_status   Condor job status 
 string condor_universe Condor job Universe (in job ClassAds)
 string condor_owner    Job owner
+string condor_preempting       Job preempting
 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
@@ -101,6 +112,7 @@ 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
 
+_pad_  25
 
 @type Submitted                Entered by the user to the User Interface or registered by Job Partitioner.
 @type Waiting          Accepted by WMS, waiting for resource allocation.
@@ -113,3 +125,4 @@ string      condor_error_desc       Glued error descriptions from error events
 @type Cancelled                Cancelled by user.
 @type Unknown          Status cannot be determined.
 @type Purged           Job has been purged from bookkeeping server (for LB->RGMA interface).
+
index 888b45c..8e55def 100644 (file)
                port=>'"($a == $b)"',
 #              level=>'"($a == $b)"',
                bool=>'"(($a || !$b) && ($b || !$a))"',
-#              string=>'"(($a) == NULL && ($b) == NULL) || (($a)&&($b)&& !strcmp($a,$b))"',
-               string=>'if ($b =~ m/^NULL/) { qq{(($a) == NULL) || (($a)&& !strcmp($a,""))}; } 
+               string=>'if ($b eq \'NULL\') { qq{(($a) == NULL)}; } 
                        else { qq{(($a) == NULL && ($b) == NULL) || (($a)&&($b)&& !strcmp($a,$b))}; } ',
-#              jobid=>'"(($a) == NULL && ($b) == NULL) || (($a)&&($b)&& !strcmp(edg_wlc_JobIdUnparse($a),edg_wlc_JobIdUnparse($b)))"',
-               jobid=>'if ($b =~ m/^NULL/) { qq{(($a) == NULL) || (($a)&& !strcmp(edg_wlc_JobIdUnparse($a),""))}; }
+               jobid=>'if ($b eq \'NULL\') { qq{(($a) == NULL) }; }
                        else { qq{(($a) == NULL && ($b) == NULL) || (($a)&&($b)&& !strcmp(edg_wlc_JobIdUnparse($a),edg_wlc_JobIdUnparse($b)))}; }',
-               notifid=>'"($a) == ($b)"',
+               notifid=>'if ($b eq \'NULL\') { qq{(($a) == NULL) }; }
+                       else { qq{(($a) == NULL && ($b) == NULL) || (($a)&&($b)&& !strcmp(edg_wll_NotifIdUnparse($a),edg_wll_NotifIdUnparse($b)))}; }',
                logsrc=>'"($a) == ($b)"',
                timeval=>'"($a).tv_sec == ($b).tv_sec && ($a).tv_usec == ($b).tv_usec"',
        }