The idea behind the RSL Validation file is to provide a mechanism for job manager scheduler interfaces to implement RSL extensions, while having the job manager still be able to decide whether a job request contains a valid RSL string.
In addition to indicating what RSL attributes are valid, the RSL validation file contains information about when the RSL attribute may be used, it's default value, and the format of the attribute's value.
The RSL validation file may contain comments. Comments are indicated in the file by a line beginning with the
# character. Comments continue until end-of-line. Comments are discarded by the RSL Validation File parser.
Example:
# I am a comment. Ignore me.
The RSL validition file consists of a set of
ValidationRecords. Each
ValidationRecord consists of a number of
ValidationProperties associated with a single RSL attribute.
ValidationRecords are separated by a blank line in the RSL validation file.
A
ValidationProperty is defined in the RSL validation file by a
PropertyName and a
PropertyValue. The syntax of a validation property is simply the
PropertyName followed by a colon character, followed by a
PropertyValue.
If a PropertyValue begins with a double-quote, then it may span multiple lines. Double-quote characters within a multiline PropertyValue must be escaped by a preceding backslash character. An unquoted PropertyValue ends at the first newline character.
Example:
Attribute: directory
Description: "Specifies the path of the directory the jobmanager will
use as the default directory for the requested job."
The following
PropertyNames are understood by this version of the RSL validation file parser. Any unknown
PropertyName will cause the
ValidationProprty to be ignored by the parser.
- Attribute
- The name of the RSL parameter to which this record refers.
- Description
- A textual description of what the RSL parameter means.
- Default
- The default value of the RSL parameter if it is not found in the RSL. The default value is only used if the DefaultWhen value matches the current validation mode.
- Values
- A string containing whitespace-separated list of enumerated values which are valid for this RSL attribute. For example, for the "dryrun" parameter, this may be "yes no".
- RequiredWhen
- Some subset of the "when strings" (see below), indicating when the RSL parameter is required for the RSL to be valid.
- DefaultWhen
- Some subset of the "when strings" (see below) indicating when then RSL's default value will be used if the RSL attribute is not present in the RSL.
- ValidWhen
- Some subset of the "when strings" (see below) indicating when then RSL attribute may be used.
The set of when strings understood by the RSL validation file parser are
- GLOBUS_GRAM_JOB_SUBMIT
- The RSL attribute pertains to job submission.
- GLOBUS_GRAM_JOB_MANAGER_RESTART
- The RSL attribute pertains to job manager restart.
- GLOBUS_GRAM_JOB_MANAGER_STDIO_UPDATE
- The RSL attribute pertains to the STDIO_UPDATE signal.