GlideinWMS The Glidein-based Workflow Management System

WMS Factory

Custom Script Exit Status Output Format

Description

This document describes syntax and semantics of the custom script exit status output.

For information about custom scripts and helper scripts for generating the output, consult the Custom Script page.

Format basics

The custom script exit status is stored in a file called

otrb_output.xml

The output format is an XML document and is a subset of the proposed common OSG test format, version 4.

The document is encapsulated in the <OSGTestResult> tag.

The <OSGTestResult> tag must have two attributes:

  • version - Must be "4.3.1".
  • id - The name of the testing script.

There are two sections in the document:

The result section

The result section is required and is encapsulated by the <result> tag.

To be finished.

The detail section

The detail section is optional, and when present, is encapsulated by the <detail> tag.

It can contain arbitrary text and is meant to be human readable only.

All machine readable information should have already been provided in the result section.

Standard error types

All failed scripts should have one of the following failure types:

  • WN_Resource - Something is wrong with the worker node. Example reasons to use this failure mode is missing libraries, disk full, etc.
  • Network - Something went wrong when I tried to use the network.
  • Config - The glidein config file is missing an attribute that we expected was there.
  • VO_Config - The glidein config file is missing an attribute that we expected were put there by one of the VO provided scripts that ran before.
  • Corruption - Catch all cathegory for when things make no sense.
  • VO_Proxy - The VO-provided proxy does not meet our requirements.

To be finished.

Examples

This is an example of a successful invocation. As expected there is only the result section.

 <OSGTestResult id="cat_consts.sh" version="4.3.1">
   <result>
     <status>OK</status>
     <metric name="NrAttributes" ts="2012-09-13T14:34:36-07:00" uri="local">30</metric>
   </result>
 </OSGTestResult>

This instead is an example of a failed invocation and includes a result section.

 <OSGTestResult id="glexec_test.sh" version="4.3.1">
   <result>
     <status>ERROR</status>
     <metric name="failure" ts="2012-09-13T14:34:36-07:00" uri="local">WN_RESOURCE</metric>
     <metric name="GLEXEC_BIN" ts="2012-09-13T14:34:36-07:00" uri="local">/bin/glexec</metric>
   </result>
   <detail>
     The glexec binary does not exist.

     Looked in /bin/glexec.
   </detail>
 </OSGTestResult>