(Click to open topic with navigation)
See the associated Standing Reservations resource section for more information on how to use this resource and supported operations.
Additional references
Type | Value | Additional information |
---|---|---|
Permissions resource | standing-reservations | Permissions |
Hooks filename | standing-reservations.groovy | Pre- and Post-Processing Hooks |
Distinct query-supported | No | Distinct |
This class represents a standing reservation.
A standing reservation is any reservation that is not a one-time reservation. This includes reservations that recur every day or every week, or infinite reservations.
Field Name | Type | Description |
---|---|---|
id | String |
The unique ID of the standing reservation. |
access | ReservationAccess |
If set to ReservationAccess.SHARED, allows a standing reservation to use resources already allocated to other non-job reservations. Otherwise, these other reservations block resource access. |
accounts | Set<String> |
Specifies that jobs with the associated accounts may use the resources contained within this reservation. |
aclRules | Set<AclRule> |
The set of access control rules associated with this standing reservation. |
chargeAccount | String |
Specifies the account to which Moab will charge all idle cycles within the reservation (via the accounting manager). |
chargeUser | String |
Specifies the user to which Moab will charge all idle cycles within the reservation (via the accounting manager). |
classes | Set<String> |
Specifies that jobs with the associated classes/queues may use the resources contained within this reservation. |
clusters | Set<String> |
Specifies that jobs originating within the listed clusters may use the resources contained within this reservation. |
comment | String |
Specifies a descriptive message associated with the standing reservation and all child reservations |
days | Set<String> |
Specifies which days of the week the standing reservation is active. |
depth | Integer |
Specifies the depth of standing reservations to be created, starting at depth 0 (one per period). |
disabled | Boolean |
Specifies if the standing reservation should no longer spawn child reservations. |
endOffset | Long |
The ending offset, in seconds, from the beginning of the current period (DAY or WEEK), for this standing reservation. See examples at startOffset. |
flags | Set<ReservationFlag> |
Specifies special reservation attributes. |
groups | Set<String> |
Specifies the groups allowed access to this standing reservation. |
hosts | Set<String> |
Specifies the set of hosts that the scheduler can search for resources to satisfy the reservation. If specified using the class:X format, Moab only selects hosts that support the specified class. If TASKCOUNT is also specified, only TASKCOUNT tasks are reserved. Otherwise, all matching hosts are reserved. |
jobAttributes | Set<JobFlag> |
Specifies job attributes that grant a job access to the reservation. |
maxJob | Integer |
Specifies the maximum number of jobs that can run in the reservation. |
maxTime | Integer |
Specifies the maximum time for jobs allowable. Can be used with affinity to attract jobs with same maxTime. |
messages | Set<String> |
Messages associated with the reservation. |
nodeFeatures | Set<String> |
Specifies the required node features for nodes that are part of the standing reservation. |
os | String |
Specifies the operating system that should be in place during the reservation. Moab provisions this OS at reservation start and restores the original OS at reservation completion. |
owner | EmbeddedCredential |
Specifies the owner of the reservation. Setting ownership for a reservation grants the user management privileges, including the power to release it. |
partition | String |
Specifies the partition in which to create the standing reservation. Defaults to ALL. |
period | TimeWindow |
Period of the Standing reservation. Defaults to TimeWindow.DAY. |
procLimit | IntLimit |
Specifies the processor limit for jobs requesting access to this standing reservation. |
psLimit | IntLimit |
Specifies the processor-second limit for jobs requesting access to this standing reservation. |
qoses | Set<String> |
Specifies that jobs with the listed QoS names can access the reserved resources. |
reservationAccessList | Set<Reservation> |
A list of reservations to which the specified reservation has access. |
reservationGroup | String |
The group of the reservation. |
resources | Map<String, Integer> |
Specifies what resources constitute a single standing reservation task. (Each task must be able to obtain all of its resources as an atomic unit on a single node.)
|
rollbackOffset | Integer |
Specifies the minimum time in the future at which the reservation may start. This offset is rolling meaning the start time of the reservation will continuously roll back into the future to maintain this offset. Rollback offsets are a good way of providing guaranteed resource access to users under the conditions that they must commit their resources in the future or lose dedicated access. See QoS Credential in the Moab Workload Manager documentation for more information on quality of service and service level agreements. |
startOffset | Long |
The starting offset, in seconds, from the beginning of the current period (DAY or WEEK), for this standing reservation. If period is DAY, the offset is from midnight (00:00) of the current day. If period is WEEK, the offset is from midnight Sunday of the current week. Example 1: For a standing reservation that begins at 9:00 and ends at 17:00 every day, period is DAY, startOffset is 32400 (9*60*60), and endOffset is 61200 (17*60*60). Example 2: For a standing reservation that begins at 9:00 Monday and ends at 17:00 Friday every week, period is WEEK, startOffset is 118800 ((24+9)*60*60), and endOffset is 493200 (((5*24)+17)*60*60). |
taskCount | Integer |
Specifies how many tasks should be reserved for the reservation |
tasksPerNode | Integer |
Specifies the minimum number of tasks per node that must be available on eligible nodes. |
timeLimit | Integer |
Specifies the maximum allowed overlap between the standing reservation and a job requesting resource access. |
triggers | Set<Trigger> |
Triggers associated with the reservation. |
type | String |
The type of the reservation. |
users | Set<String> |
Specifies which users have access to the resources reserved by this reservation. |
The access type of a standing reservation. If set to SHARED, allows a standing reservation to use resources already allocated to other non-job reservations. Otherwise, these other reservations block resource access.
Value | Description |
---|---|
DEDICATED | |
SHARED |
This class represents a rule that can be in Moab's access control list (ACL) mechanism.
The basic AclRule information is the object's name and type. The type directly maps to an AclType value. The default mechanism Moab uses to check the ACL for a particular item is if the user or object coming in has ANY of the values in the ACL, then the user or object is given access. If no values match the user or object in question, the user or object is rejected access.
Field Name | Type | Description |
---|---|---|
affinity | AclAffinity |
Reservation ACLs allow or deny access to reserved resources but they may also be configured to affect a job's affinity for a particular reservation. By default, jobs gravitate toward reservations through a mechanism known as positive affinity. This mechanism allows jobs to run on the most constrained resources leaving other, unreserved resources free for use by other jobs that may not be able to access the reserved resources. Normally this is a desired behavior. However, sometimes, it is desirable to reserve resources for use only as a last resort-using the reserved resources only when there are no other resources available. This last resort behavior is known as negative affinity. |
comparator | ComparisonOperator |
The type of comparison to make against the ACL object. |
type | AclType |
The type of the object that is being granted (or denied) access. |
value | String |
The name of the object that is being granted (or denied) access. |
This enumeration describes the values available for describing how a rule is used in establishing access to an object in Moab. Currently, these ACL affinities are used only for granting access to reservations.
This enumeration is used when Moab needs to compare items. One such use is in Access Control Lists (ACLs).
This enumeration describes the values available for the type of an ACL Rule.
The flag types of a reservation.
This enumeration specifies the flag types of a job.
Value | Description |
---|---|
NONE | |
BACKFILL | The job is using backfill to run. |
COALLOC | The job can use resources from multiple resource managers and partitions. |
ADVRES | The job requires the use of a reservation. |
NOQUEUE | The job will attempt to execute immediately or fail. |
ARRAYJOB | The job is part of a job array. |
ARRAYJOBPARLOCK | This array job will only run in one partition. |
ARRAYJOBPARSPAN | This array job will span partitions (default). |
ARRAYMASTER | This job is the master of a job array. |
BESTEFFORT | The job will succeed if even partial resources are available. |
RESTARTABLE | The job is restartable. |
SUSPENDABLE | The job is suspendable. |
HASPREEMPTED | This job preempted other jobs to start. |
PREEMPTEE | The job is a preemptee and therefore can be preempted by other jobs. |
PREEMPTOR | The job is a preemptor and therefore can preempt other jobs. |
RSVMAP | The job is based on a reservation. |
SPVIOLATION | The job was started with a soft policy violation. |
IGNNODEPOLICIES | The job will ignore node policies. |
IGNPOLICIES | The job will ignore idle, active, class, partition, and system policies. |
IGNNODESTATE | The job will ignore node state in order to run. |
IGNIDLEJOBRSV | The job can ignore idle job reservations. The job granted access to all idle job reservations. |
INTERACTIVE | The job needs to interactive input from the user to run. |
FSVIOLATION | The job was started with a fairshare violation. |
GLOBALQUEUE | The job is directly submitted without doing any authentication. |
NORESOURCES | The job is a system job that does not need any resources. |
NORMSTART | The job will not query a resource manager to run. |
CLUSTERLOCKED | The job is locked into the current cluster and cannot be migrated elsewhere. This is for grid mode. |
FRAGMENT | The job can be run across multiple nodes in individual chunks. |
FORCEPROVISION | Job will provision nodes, whether they already have OS or not. |
SYSTEMJOB | The job is a system job which simply runs on the same node that Moab is running on. This is usually used for running scripts and other executables in workflows. |
ADMINSETIGNPOLICIES | The IGNPOLICIES flag was set by an administrator. |
EXTENDSTARTWALLTIME | The job duration (walltime) was extended at job start. |
SHAREDMEM | The job will share its memory across nodes. |
BLOCKEDBYGRES | The job's generic resource requirement caused the job to start later. |
GRESONLY | The job is requesting only generic resources, no compute resources. |
TEMPLATESAPPLIED | The job has had all applicable templates applied to it. |
META | META job, just a container around resources. |
WIDERSVSEARCHALGO | This job prefers the wide search algorithm. |
VMTRACKING | The job is a VMTracking job for an externally-created VM (via job template). |
DESTROYTEMPLATESUBMITTED | A destroy job has already been created from the template for this job. |
PROCSPECIFIED | The job requested processors on the command line. |
CANCELONFIRSTFAILURE | Cancel job array on first array job failure. |
CANCELONFIRSTSUCCESS | Cancel job array on first array job success. |
CANCELONANYFAILURE | Cancel job array on any array job failure. |
CANCELONANYSUCCESS | Cancel job array on any array job success. |
CANCELONEXITCODE | Cancel job array on a specific exit code. |
NOVMMIGRATE | Do not migrate the virtual machine that this job sets up. |
VCMASTER | Job is the master of a virtual container. |
USEMOABJOBID | Specifies whether to use the Moab job ID or the resource manager's job ID. |
JOINSTDERRTOSTDOUT | Join the stderr file to the stdout file. |
JOINSTDOUTTOSTDERR | Join the stdout file to the stderr file. |
PURGEONSUCCESSONLY | Only purge the job if it completed successfully |
ALLPROCS | Each job compute task requests all the procs on its node |
COMMLOCAL | Each job communications are localized, with minimal routing outside job shape |
COMMTOLERANT | Each job communications are low-intensity and insensitive to interference |
Field Name | Type | Description |
---|---|---|
name | String | |
type | CredentialType |
Value | Description |
---|---|
USER | |
GROUP | |
ACCOUNT | |
CLASS | |
QOS | |
NOT_SPECIFIED |
This enumeration represents some common time windows. It can be used when for many purposes, but was created specifically for statistics.
Value | Description |
---|---|
MINUTE | |
HOUR | |
DAY | |
WEEK | |
MONTH | |
YEAR | |
INFINITY |
Field Name | Type | Description |
---|---|---|
qualifier | String |
One of:
|
value | Integer |
A reservation is the mechanism by which Moab guarantees the availability of a set of resources at a particular time. Each reservation consists of three major components: (1) a set of resources, (2) a time frame, and (3) an access control list. It is a scheduler role to ensure that the access control list is not violated during the reservation's lifetime (that is, its time frame) on the resources listed. For example, a reservation may specify that node002 is reserved for user Tom on Friday. The scheduler is thus constrained to make certain that only Tom's jobs can use node002 at any time on Friday.
Field Name | Type | Description |
---|---|---|
id | String |
The unique ID of the reservation. |
accountingAccount | String |
Accountable Account. |
accountingGroup | String |
Accountable Group. |
accountingQOS | String |
Accountable QOS. |
accountingUser | String |
Accountable User. |
aclRules | Set<AclRule> |
The set of access control rules associated with this reservation. |
allocatedNodeCount | Integer |
The number of allocated nodes for this reservation. |
allocatedNodes | Set<DomainProxyVersion1> |
The nodes allocated to the reservation. |
allocatedProcessorCount | Integer |
The number of allocated processors. |
allocatedTaskCount | Integer |
The number of allocated tasks. |
comments | String |
Reservation's comments or description. |
creationDate | Date |
Creation date. Automatically set by Moab when a user creates the reservation. |
duration | Long |
The duration of the reservation (in seconds). |
endDate | Date |
The end date of the reservation. This is especially useful for one-time reservations, which have an exact time for when a reservation ends. |
excludeJobs | Set<String> |
The list of jobs to exclude. Client must also set the IGNJOBRSV reservation flag. Otherwise, results are undefined. Used only during reservation creation. |
expireDate | Date |
The date/time when the reservation expires and vacates. |
flags | Set<ReservationFlag> |
The flags associated with the reservation. |
globalId | String |
Global reservation ID. |
hostListExpression | String |
The list of nodes a user can select to reserve. This may or may not be the nodes that are currently allocated to this reservation. Note: Either hostListExpression or taskCount must be set to create a reservation. |
idPrefix | String |
The user-specified prefix for this reservation. If provided, Moab combines the idPrefix with an integer, and the combination is the unique identifier for this reservation. |
isActive | Boolean |
State whether or not this reservation is currently active. |
label | String |
When a label is assigned to a reservation, the reservation can then be referenced by that label as well as by the reservation name. |
maxTasks | Integer |
The maximum number of tasks for this reservation. |
messages | Set<MessageVersion1> |
Messages for the reservation. |
owner | EmbeddedCredential |
The owner of the reservation |
partitionId | String |
The ID of the partition this reservation is for. |
profile | String |
The profile that this reservation is using. A profile is a specification of attributes that all reservations share. Used only during reservation creation. |
requirements | ReservationRequirement |
The reservation's requirements. |
reservationGroup | String |
The reservation group to which the reservation belongs. |
resources | Map<String, Integer> |
The reservation's resources. This field is a map, where the key is PROCS, MEM DISK, SWAP, or one or more user-defined keys. |
startDate | Date |
The start time for the reservation. This is especially useful for one-time reservations, which have an exact time for when a reservation starts. |
statistics | ReservationStatistics |
The reservation's statistical information. |
subType | String |
The reservation sub-type. |
taskCount | Integer |
The number of tasks that must be allocated to satisfy the reservation request. Note: Either hostListExpression or taskCount must be set to create a reservation. |
trigger | Trigger |
Trigger for reservation. Used only during reservation creation. |
triggerIds | Set<String> |
The IDs of the triggers attached to this reservation. |
uniqueIndex | String |
The globally-unique reservation index. |
variables | Map<String, Map> |
The set of variables for this reservation. |
Field Name | Type | Description |
---|---|---|
id | String |
The id of the object. |
Represents all the types of requirements a user can request while creating a reservation.
Represents some basic statistical information that is kept about the usage of reservations. All metrics that are kept track relate to processor-seconds usage.
Field Name | Type | Description |
---|---|---|
id | String |
Trigger id - internal ID used by moab to track triggers |
action | String |
For exec atype triggers, signifies executable and arguments. For jobpreempt atype triggers, signifies PREEMPTPOLICY to apply to jobs that are running on allocated resources. For changeparam atype triggers, specifies the parameter to change and its new value (using the same syntax and behavior as the changeparam command). |
actionType | TriggerActionType | |
blockTime | Date |
Time (in seconds) Moab will suspend normal operation to wait for trigger execution to finish. Use caution as Moab will completely stop normal operation until BlockTime expires. |
description | String | |
eventType | TriggerEventType | |
expireTime | Date |
Time at which trigger should be terminated if it has not already been activated. |
failOffset | Date |
Specifies the time (in seconds) that the threshold condition must exist before the trigger fires. |
flags | Set<TriggerFlag> | |
interval | Boolean |
When used in conjunction with MultiFire and RearmTime trigger will fire at regular intervals. Can be used with TriggerEventType.EPOCH to create a Standing Trigger. |
maxRetry | Integer |
Specifies the number of times Action will be attempted before the trigger is designated a failure. |
multiFire | Boolean |
Specifies whether this trigger can fire multiple times. Defaults to false. |
name | String |
Trigger name - can be auto assigned by moab or requested. Alphanumeric up to 16 characters in length |
objectId | String |
The ID of the object which this is attached to. |
objectType | String |
The type of object which this is attached to. Possible values:
|
offset | Date |
Relative time offset from event when trigger can fire. |
period | TriggerPeriod |
Can be used in conjunction with Offset to have a trigger fire at the beginning of the specified period. Can be used with EType epoch to create a standing trigger. |
rearmTime | Date |
Time between MultiFire triggers. Rearm time is enforced from the trigger event time. |
requires | String |
Variables this trigger requires to be set or not set before it will fire. Preceding the string with an exclamation mark (!) indicates this variable must NOT be set. Used in conjunction with Sets to create trigger dependencies. |
sets | String |
Variable values this trigger sets upon success or failure. Preceding the string with an exclamation mark (!) indicates this variable is set upon trigger failure. Preceding the string with a caret (^) indicates this variable is to be exported to the parent object when the current object is destroyed through a completion event. Used in conjunction with Requires to create trigger dependencies. |
threshold | String |
Reservation usage threshold - When reservation usage drops below Threshold, trigger will fire. |
timeout | Date |
Time allotted to this trigger before it is marked as unsuccessful and its process (if any) killed. |
type | TriggerType |
The type of the trigger. |
unsets | String |
Variable this trigger destroys upon success or failure. |
This enumeration specifies the action type of a trigger.
This enumeration specifies the event type of a trigger.
Value | Description |
---|---|
CANCEL | |
CHECKPOINT | |
CREATE | |
END | |
EPOCH | |
FAIL | |
HOLD | |
MIGRATE | |
MODIFY | |
PREEMPT | |
STANDING | |
START | |
THRESHOLD | |
DISCOVER | |
LOGROLL |
This enumeration specifies a flag belonging to a trigger.
This enumeration specifies the period of a trigger.
Value | Description |
---|---|
MINUTE | |
HOUR | |
DAY | |
WEEK | |
MONTH |
This enumeration specifies the type of the trigger.
Value | Description |
---|---|
generic | Generic trigger type. |
elastic | Elastic computing trigger type. |
Field Name | Type | Description |
---|---|---|
id | String |
Trigger id - internal ID used by moab to track triggers |
action | String |
For exec atype triggers, signifies executable and arguments. For jobpreempt atype triggers, signifies PREEMPTPOLICY to apply to jobs that are running on allocated resources. For changeparam atype triggers, specifies the parameter to change and its new value (using the same syntax and behavior as the changeparam command). |
actionType | TriggerActionType | |
blockTime | Date |
Time (in seconds) Moab will suspend normal operation to wait for trigger execution to finish. Use caution as Moab will completely stop normal operation until BlockTime expires. |
description | String | |
eventType | TriggerEventType | |
expireTime | Date |
Time at which trigger should be terminated if it has not already been activated. |
failOffset | Date |
Specifies the time (in seconds) that the threshold condition must exist before the trigger fires. |
flags | Set<TriggerFlag> | |
interval | Boolean |
When used in conjunction with MultiFire and RearmTime trigger will fire at regular intervals. Can be used with TriggerEventType.EPOCH to create a Standing Trigger. |
maxRetry | Integer |
Specifies the number of times Action will be attempted before the trigger is designated a failure. |
multiFire | Boolean |
Specifies whether this trigger can fire multiple times. Defaults to false. |
name | String |
Trigger name - can be auto assigned by moab or requested. Alphanumeric up to 16 characters in length |
objectId | String |
The ID of the object which this is attached to. |
objectType | String |
The type of object which this is attached to. Possible values:
|
offset | Date |
Relative time offset from event when trigger can fire. |
period | TriggerPeriod |
Can be used in conjunction with Offset to have a trigger fire at the beginning of the specified period. Can be used with EType epoch to create a standing trigger. |
rearmTime | Date |
Time between MultiFire triggers. Rearm time is enforced from the trigger event time. |
requires | String |
Variables this trigger requires to be set or not set before it will fire. Preceding the string with an exclamation mark (!) indicates this variable must NOT be set. Used in conjunction with Sets to create trigger dependencies. |
sets | String |
Variable values this trigger sets upon success or failure. Preceding the string with an exclamation mark (!) indicates this variable is set upon trigger failure. Preceding the string with a caret (^) indicates this variable is to be exported to the parent object when the current object is destroyed through a completion event. Used in conjunction with Requires to create trigger dependencies. |
threshold | String |
Reservation usage threshold - When reservation usage drops below Threshold, trigger will fire. |
timeout | Date |
Time allotted to this trigger before it is marked as unsuccessful and its process (if any) killed. |
type | TriggerType |
The type of the trigger. |
unsets | String |
Variable this trigger destroys upon success or failure. |
This class represents a standing reservation.
A standing reservation is any reservation that is not a one-time reservation. This includes reservations that recur every day or every week, or infinite reservations.
Field Name | Type | Description |
---|---|---|
id | String |
The unique ID of the standing reservation. |
access | ReservationAccess |
If set to ReservationAccess.SHARED, allows a standing reservation to use resources already allocated to other non-job reservations. Otherwise, these other reservations block resource access. |
accounts | Set<String> |
Specifies that jobs with the associated accounts may use the resources contained within this reservation. |
aclRules | Set<AclRule> |
The set of access control rules associated with this standing reservation. |
chargeAccount | String |
Specifies the account to which Moab will charge all idle cycles within the reservation (via the accounting manager). |
chargeUser | String |
Specifies the user to which Moab will charge all idle cycles within the reservation (via the accounting manager). |
classes | Set<String> |
Specifies that jobs with the associated classes/queues may use the resources contained within this reservation. |
clusters | Set<String> |
Specifies that jobs originating within the listed clusters may use the resources contained within this reservation. |
comment | String |
Specifies a descriptive message associated with the standing reservation and all child reservations |
days | Set<String> |
Specifies which days of the week the standing reservation is active. |
depth | Integer |
Specifies the depth of standing reservations to be created, starting at depth 0 (one per period). |
disabled | Boolean |
Specifies if the standing reservation should no longer spawn child reservations. |
endOffset | Long |
The ending offset, in seconds, from the beginning of the current period (DAY or WEEK), for this standing reservation. See examples at startOffset. |
flags | Set<ReservationFlag> |
Specifies special reservation attributes. |
groups | Set<String> |
Specifies the groups allowed access to this standing reservation. |
hosts | Set<String> |
Specifies the set of hosts that the scheduler can search for resources to satisfy the reservation. If specified using the class:X format, Moab only selects hosts that support the specified class. If TASKCOUNT is also specified, only TASKCOUNT tasks are reserved. Otherwise, all matching hosts are reserved. |
jobAttributes | Set<JobFlag> |
Specifies job attributes that grant a job access to the reservation. |
maxJob | Integer |
Specifies the maximum number of jobs that can run in the reservation. |
maxTime | Integer |
Specifies the maximum time for jobs allowable. Can be used with affinity to attract jobs with same maxTime. |
messages | Set<String> |
Messages associated with the reservation. |
nodeFeatures | Set<String> |
Specifies the required node features for nodes that are part of the standing reservation. |
os | String |
Specifies the operating system that should be in place during the reservation. Moab provisions this OS at reservation start and restores the original OS at reservation completion. |
owner | EmbeddedCredential |
Specifies the owner of the reservation. Setting ownership for a reservation grants the user management privileges, including the power to release it. |
partition | String |
Specifies the partition in which to create the standing reservation. Defaults to ALL. |
period | TimeWindow |
Period of the Standing reservation. Defaults to TimeWindow.DAY. |
procLimit | IntLimit |
Specifies the processor limit for jobs requesting access to this standing reservation. |
psLimit | IntLimit |
Specifies the processor-second limit for jobs requesting access to this standing reservation. |
qoses | Set<String> |
Specifies that jobs with the listed QoS names can access the reserved resources. |
reservationAccessList | Set<Reservation> |
A list of reservations to which the specified reservation has access. |
reservationGroup | String |
The group of the reservation. |
resources | Map<String, Integer> |
Specifies what resources constitute a single standing reservation task. (Each task must be able to obtain all of its resources as an atomic unit on a single node.)
|
rollbackOffset | Integer |
Specifies the minimum time in the future at which the reservation may start. This offset is rolling meaning the start time of the reservation will continuously roll back into the future to maintain this offset. Rollback offsets are a good way of providing guaranteed resource access to users under the conditions that they must commit their resources in the future or lose dedicated access. See QoS Credential in the Moab Workload Manager documentation for more information on quality of service and service level agreements. |
startOffset | Long |
The starting offset, in seconds, from the beginning of the current period (DAY or WEEK), for this standing reservation. If period is DAY, the offset is from midnight (00:00) of the current day. If period is WEEK, the offset is from midnight Sunday of the current week. Example 1: For a standing reservation that begins at 9:00 and ends at 17:00 every day, period is DAY, startOffset is 32400 (9*60*60), and endOffset is 61200 (17*60*60). Example 2: For a standing reservation that begins at 9:00 Monday and ends at 17:00 Friday every week, period is WEEK, startOffset is 118800 ((24+9)*60*60), and endOffset is 493200 (((5*24)+17)*60*60). |
taskCount | Integer |
Specifies how many tasks should be reserved for the reservation |
tasksPerNode | Integer |
Specifies the minimum number of tasks per node that must be available on eligible nodes. |
timeLimit | Integer |
Specifies the maximum allowed overlap between the standing reservation and a job requesting resource access. |
triggers | Set<Trigger> |
Triggers associated with the reservation. |
type | String |
The type of the reservation. |
users | Set<String> |
Specifies which users have access to the resources reserved by this reservation. |
The access type of a standing reservation. If set to SHARED, allows a standing reservation to use resources already allocated to other non-job reservations. Otherwise, these other reservations block resource access.
Value | Description |
---|---|
DEDICATED | |
SHARED |
This class represents a rule that can be in Moab's access control list (ACL) mechanism.
The basic AclRule information is the object's name and type. The type directly maps to an AclType value. The default mechanism Moab uses to check the ACL for a particular item is if the user or object coming in has ANY of the values in the ACL, then the user or object is given access. If no values match the user or object in question, the user or object is rejected access.
Field Name | Type | Description |
---|---|---|
affinity | AclAffinity |
Reservation ACLs allow or deny access to reserved resources but they may also be configured to affect a job's affinity for a particular reservation. By default, jobs gravitate toward reservations through a mechanism known as positive affinity. This mechanism allows jobs to run on the most constrained resources leaving other, unreserved resources free for use by other jobs that may not be able to access the reserved resources. Normally this is a desired behavior. However, sometimes, it is desirable to reserve resources for use only as a last resort-using the reserved resources only when there are no other resources available. This last resort behavior is known as negative affinity. |
comparator | ComparisonOperator |
The type of comparison to make against the ACL object. |
type | AclType |
The type of the object that is being granted (or denied) access. |
value | String |
The name of the object that is being granted (or denied) access. |
This enumeration describes the values available for describing how a rule is used in establishing access to an object in Moab. Currently, these ACL affinities are used only for granting access to reservations.
This enumeration is used when Moab needs to compare items. One such use is in Access Control Lists (ACLs).
This enumeration describes the values available for the type of an ACL Rule.
The flag types of a reservation.
This enumeration specifies the flag types of a job.
Value | Description |
---|---|
NONE | |
BACKFILL | The job is using backfill to run. |
COALLOC | The job can use resources from multiple resource managers and partitions. |
ADVRES | The job requires the use of a reservation. |
NOQUEUE | The job will attempt to execute immediately or fail. |
ARRAYJOB | The job is part of a job array. |
ARRAYJOBPARLOCK | This array job will only run in one partition. |
ARRAYJOBPARSPAN | This array job will span partitions (default). |
ARRAYMASTER | This job is the master of a job array. |
BESTEFFORT | The job will succeed if even partial resources are available. |
RESTARTABLE | The job is restartable. |
SUSPENDABLE | The job is suspendable. |
HASPREEMPTED | This job preempted other jobs to start. |
PREEMPTEE | The job is a preemptee and therefore can be preempted by other jobs. |
PREEMPTOR | The job is a preemptor and therefore can preempt other jobs. |
RSVMAP | The job is based on a reservation. |
SPVIOLATION | The job was started with a soft policy violation. |
IGNNODEPOLICIES | The job will ignore node policies. |
IGNPOLICIES | The job will ignore idle, active, class, partition, and system policies. |
IGNNODESTATE | The job will ignore node state in order to run. |
IGNIDLEJOBRSV | The job can ignore idle job reservations. The job granted access to all idle job reservations. |
INTERACTIVE | The job needs to interactive input from the user to run. |
FSVIOLATION | The job was started with a fairshare violation. |
GLOBALQUEUE | The job is directly submitted without doing any authentication. |
NORESOURCES | The job is a system job that does not need any resources. |
NORMSTART | The job will not query a resource manager to run. |
CLUSTERLOCKED | The job is locked into the current cluster and cannot be migrated elsewhere. This is for grid mode. |
FRAGMENT | The job can be run across multiple nodes in individual chunks. |
FORCEPROVISION | Job will provision nodes, whether they already have OS or not. |
SYSTEMJOB | The job is a system job which simply runs on the same node that Moab is running on. This is usually used for running scripts and other executables in workflows. |
ADMINSETIGNPOLICIES | The IGNPOLICIES flag was set by an administrator. |
EXTENDSTARTWALLTIME | The job duration (walltime) was extended at job start. |
SHAREDMEM | The job will share its memory across nodes. |
BLOCKEDBYGRES | The job's generic resource requirement caused the job to start later. |
GRESONLY | The job is requesting only generic resources, no compute resources. |
TEMPLATESAPPLIED | The job has had all applicable templates applied to it. |
META | META job, just a container around resources. |
WIDERSVSEARCHALGO | This job prefers the wide search algorithm. |
VMTRACKING | The job is a VMTracking job for an externally-created VM (via job template). |
DESTROYTEMPLATESUBMITTED | A destroy job has already been created from the template for this job. |
PROCSPECIFIED | The job requested processors on the command line. |
CANCELONFIRSTFAILURE | Cancel job array on first array job failure. |
CANCELONFIRSTSUCCESS | Cancel job array on first array job success. |
CANCELONANYFAILURE | Cancel job array on any array job failure. |
CANCELONANYSUCCESS | Cancel job array on any array job success. |
CANCELONEXITCODE | Cancel job array on a specific exit code. |
NOVMMIGRATE | Do not migrate the virtual machine that this job sets up. |
VCMASTER | Job is the master of a virtual container. |
USEMOABJOBID | Specifies whether to use the Moab job ID or the resource manager's job ID. |
JOINSTDERRTOSTDOUT | Join the stderr file to the stdout file. |
JOINSTDOUTTOSTDERR | Join the stdout file to the stderr file. |
PURGEONSUCCESSONLY | Only purge the job if it completed successfully |
ALLPROCS | Each job compute task requests all the procs on its node |
COMMLOCAL | Each job communications are localized, with minimal routing outside job shape |
COMMTOLERANT | Each job communications are low-intensity and insensitive to interference |
Field Name | Type | Description |
---|---|---|
name | String | |
type | CredentialType |
Value | Description |
---|---|
USER | |
GROUP | |
ACCOUNT | |
CLASS | |
QOS | |
NOT_SPECIFIED |
This enumeration represents some common time windows. It can be used when for many purposes, but was created specifically for statistics.
Value | Description |
---|---|
MINUTE | |
HOUR | |
DAY | |
WEEK | |
MONTH | |
YEAR | |
INFINITY |
Field Name | Type | Description |
---|---|---|
qualifier | String |
One of:
|
value | Integer |
A reservation is the mechanism by which Moab guarantees the availability of a set of resources at a particular time. Each reservation consists of three major components: (1) a set of resources, (2) a time frame, and (3) an access control list. It is a scheduler role to ensure that the access control list is not violated during the reservation's lifetime (that is, its time frame) on the resources listed. For example, a reservation may specify that node002 is reserved for user Tom on Friday. The scheduler is thus constrained to make certain that only Tom's jobs can use node002 at any time on Friday.
Field Name | Type | Description |
---|---|---|
id | String |
The unique ID of the reservation. |
accountingAccount | String |
Accountable Account. |
accountingGroup | String |
Accountable Group. |
accountingQOS | String |
Accountable QOS. |
accountingUser | String |
Accountable User. |
aclRules | Set<AclRule> |
The set of access control rules associated with this reservation. |
allocatedNodeCount | Integer |
The number of allocated nodes for this reservation. |
allocatedNodes | Set<DomainProxyVersion1> |
The nodes allocated to the reservation. |
allocatedProcessorCount | Integer |
The number of allocated processors. |
allocatedTaskCount | Integer |
The number of allocated tasks. |
comments | String |
Reservation's comments or description. |
creationDate | Date |
Creation date. Automatically set by Moab when a user creates the reservation. |
duration | Long |
The duration of the reservation (in seconds). |
endDate | Date |
The end date of the reservation. This is especially useful for one-time reservations, which have an exact time for when a reservation ends. |
excludeJobs | Set<String> |
The list of jobs to exclude. Client must also set the IGNJOBRSV reservation flag. Otherwise, results are undefined. Used only during reservation creation. |
expireDate | Date |
The date/time when the reservation expires and vacates. |
flags | Set<ReservationFlag> |
The flags associated with the reservation. |
globalId | String |
Global reservation ID. |
hostListExpression | String |
The list of nodes a user can select to reserve. This may or may not be the nodes that are currently allocated to this reservation. Note: Either hostListExpression or taskCount must be set to create a reservation. |
idPrefix | String |
The user-specified prefix for this reservation. If provided, Moab combines the idPrefix with an integer, and the combination is the unique identifier for this reservation. |
isActive | Boolean |
State whether or not this reservation is currently active. |
label | String |
When a label is assigned to a reservation, the reservation can then be referenced by that label as well as by the reservation name. |
maxTasks | Integer |
The maximum number of tasks for this reservation. |
messages | Set<MessageVersion1> |
Messages for the reservation. |
owner | EmbeddedCredential |
The owner of the reservation |
partitionId | String |
The ID of the partition this reservation is for. |
profile | String |
The profile that this reservation is using. A profile is a specification of attributes that all reservations share. Used only during reservation creation. |
requirements | ReservationRequirement |
The reservation's requirements. |
reservationGroup | String |
The reservation group to which the reservation belongs. |
resources | Map<String, Integer> |
The reservation's resources. This field is a map, where the key is PROCS, MEM DISK, SWAP, or one or more user-defined keys. |
startDate | Date |
The start time for the reservation. This is especially useful for one-time reservations, which have an exact time for when a reservation starts. |
statistics | ReservationStatistics |
The reservation's statistical information. |
subType | String |
The reservation sub-type. |
taskCount | Integer |
The number of tasks that must be allocated to satisfy the reservation request. Note: Either hostListExpression or taskCount must be set to create a reservation. |
trigger | Trigger |
Trigger for reservation. Used only during reservation creation. |
triggerIds | Set<String> |
The IDs of the triggers attached to this reservation. |
uniqueIndex | String |
The globally-unique reservation index. |
variables | Map<String, Map> |
The set of variables for this reservation. |
Field Name | Type | Description |
---|---|---|
id | String |
The id of the object. |
Represents all the types of requirements a user can request while creating a reservation.
Represents some basic statistical information that is kept about the usage of reservations. All metrics that are kept track relate to processor-seconds usage.
Field Name | Type | Description |
---|---|---|
id | String |
Trigger id - internal ID used by moab to track triggers |
action | String |
For exec atype triggers, signifies executable and arguments. For jobpreempt atype triggers, signifies PREEMPTPOLICY to apply to jobs that are running on allocated resources. For changeparam atype triggers, specifies the parameter to change and its new value (using the same syntax and behavior as the changeparam command). |
actionType | TriggerActionType | |
blockTime | Date |
Time (in seconds) Moab will suspend normal operation to wait for trigger execution to finish. Use caution as Moab will completely stop normal operation until BlockTime expires. |
description | String | |
eventType | TriggerEventType | |
expireTime | Date |
Time at which trigger should be terminated if it has not already been activated. |
failOffset | Date |
Specifies the time (in seconds) that the threshold condition must exist before the trigger fires. |
flags | Set<TriggerFlag> | |
interval | Boolean |
When used in conjunction with MultiFire and RearmTime trigger will fire at regular intervals. Can be used with TriggerEventType.EPOCH to create a Standing Trigger. |
maxRetry | Integer |
Specifies the number of times Action will be attempted before the trigger is designated a failure. |
multiFire | Boolean |
Specifies whether this trigger can fire multiple times. Defaults to false. |
name | String |
Trigger name - can be auto assigned by moab or requested. Alphanumeric up to 16 characters in length |
objectId | String |
The ID of the object which this is attached to. |
objectType | String |
The type of object which this is attached to. Possible values:
|
offset | Date |
Relative time offset from event when trigger can fire. |
period | TriggerPeriod |
Can be used in conjunction with Offset to have a trigger fire at the beginning of the specified period. Can be used with EType epoch to create a standing trigger. |
rearmTime | Date |
Time between MultiFire triggers. Rearm time is enforced from the trigger event time. |
requires | String |
Variables this trigger requires to be set or not set before it will fire. Preceding the string with an exclamation mark (!) indicates this variable must NOT be set. Used in conjunction with Sets to create trigger dependencies. |
sets | String |
Variable values this trigger sets upon success or failure. Preceding the string with an exclamation mark (!) indicates this variable is set upon trigger failure. Preceding the string with a caret (^) indicates this variable is to be exported to the parent object when the current object is destroyed through a completion event. Used in conjunction with Requires to create trigger dependencies. |
threshold | String |
Reservation usage threshold - When reservation usage drops below Threshold, trigger will fire. |
timeout | Date |
Time allotted to this trigger before it is marked as unsuccessful and its process (if any) killed. |
type | TriggerType |
The type of the trigger. |
unsets | String |
Variable this trigger destroys upon success or failure. |
This enumeration specifies the action type of a trigger.
This enumeration specifies the event type of a trigger.
Value | Description |
---|---|
CANCEL | |
CHECKPOINT | |
CREATE | |
END | |
EPOCH | |
FAIL | |
HOLD | |
MIGRATE | |
MODIFY | |
PREEMPT | |
STANDING | |
START | |
THRESHOLD | |
DISCOVER | |
LOGROLL |
This enumeration specifies a flag belonging to a trigger.
This enumeration specifies the period of a trigger.
Value | Description |
---|---|
MINUTE | |
HOUR | |
DAY | |
WEEK | |
MONTH |
This enumeration specifies the type of the trigger.
Value | Description |
---|---|
generic | Generic trigger type. |
elastic | Elastic computing trigger type. |
Field Name | Type | Description |
---|---|---|
id | String |
Trigger id - internal ID used by moab to track triggers |
action | String |
For exec atype triggers, signifies executable and arguments. For jobpreempt atype triggers, signifies PREEMPTPOLICY to apply to jobs that are running on allocated resources. For changeparam atype triggers, specifies the parameter to change and its new value (using the same syntax and behavior as the changeparam command). |
actionType | TriggerActionType | |
blockTime | Date |
Time (in seconds) Moab will suspend normal operation to wait for trigger execution to finish. Use caution as Moab will completely stop normal operation until BlockTime expires. |
description | String | |
eventType | TriggerEventType | |
expireTime | Date |
Time at which trigger should be terminated if it has not already been activated. |
failOffset | Date |
Specifies the time (in seconds) that the threshold condition must exist before the trigger fires. |
flags | Set<TriggerFlag> | |
interval | Boolean |
When used in conjunction with MultiFire and RearmTime trigger will fire at regular intervals. Can be used with TriggerEventType.EPOCH to create a Standing Trigger. |
maxRetry | Integer |
Specifies the number of times Action will be attempted before the trigger is designated a failure. |
multiFire | Boolean |
Specifies whether this trigger can fire multiple times. Defaults to false. |
name | String |
Trigger name - can be auto assigned by moab or requested. Alphanumeric up to 16 characters in length |
objectId | String |
The ID of the object which this is attached to. |
objectType | String |
The type of object which this is attached to. Possible values:
|
offset | Date |
Relative time offset from event when trigger can fire. |
period | TriggerPeriod |
Can be used in conjunction with Offset to have a trigger fire at the beginning of the specified period. Can be used with EType epoch to create a standing trigger. |
rearmTime | Date |
Time between MultiFire triggers. Rearm time is enforced from the trigger event time. |
requires | String |
Variables this trigger requires to be set or not set before it will fire. Preceding the string with an exclamation mark (!) indicates this variable must NOT be set. Used in conjunction with Sets to create trigger dependencies. |
sets | String |
Variable values this trigger sets upon success or failure. Preceding the string with an exclamation mark (!) indicates this variable is set upon trigger failure. Preceding the string with a caret (^) indicates this variable is to be exported to the parent object when the current object is destroyed through a completion event. Used in conjunction with Requires to create trigger dependencies. |
threshold | String |
Reservation usage threshold - When reservation usage drops below Threshold, trigger will fire. |
timeout | Date |
Time allotted to this trigger before it is marked as unsuccessful and its process (if any) killed. |
type | TriggerType |
The type of the trigger. |
unsets | String |
Variable this trigger destroys upon success or failure. |
Related Topics