(Click to open topic with navigation)
See the associated Jobs resource section for more information on how to use this resource and supported operations.
Additional references
Type | Value | Additional information |
---|---|---|
Permissions resource | jobs | Permissions |
Hooks filename | jobs.groovy | Pre and post-processing hooks |
Distinct query-supported | Yes | Distinct |
This class represents a job in the Moab Workload Manager. A job is a request for compute resources (CPUs, memory, storage) with which the requester can do work for a given amount of time. In an HPC environment, this might be a batch script to perform a Monte Carlo simulation. In a cloud environment, this would be a virtual machine and its associated storage. Moab will evaluate the request and assign the requested resources to the requester based on policies, current demand, and other factors in the data center. A job will also usually have some process that Moab starts automatically at the assigned start time. In an HPC environment, this can be starting a batch script on the assigned nodes. In a cloud environment, this can be starting provisioning processes to create the virtual machine and storage and install software on it.
Field Name | Type | POST | PUT | Description |
---|---|---|---|---|
id | String | No | No |
The unique identifier of this job. Note: this field is not user-assigned and is generated by the database. |
arrayIndex | Long | No | No |
If this job is a sub-job of a JobArray, this field contains the index of this job in the array. For example, if this job is |
arrayMasterName | String | No | No |
If this job is a sub-job of a JobArray, this field contains the name of the job array master. For example, if this job is |
attributes | Set<String> | Yes | No |
The list of generic attributes associated with this job. |
blocks | Set<JobBlock> | No | No |
Reasons the job is blocked from running. |
bypassCount | Integer | No | No |
The number of times the job has been backfilled. |
cancelCount | Integer | No | No |
The number of times a job has received a cancel request. |
commandFile | String | Yes | No |
The path to the file that is executed when this job runs. This is the script that will call all the work of this job. |
commandLineArguments | String | Yes | No |
The command line arguments passed to the commandFile. |
completionCode | Integer | No | No |
The exit code from this job. |
cpuTime | Long | No | No |
CPU usage time in seconds as reported by the resource manager. |
credentials | JobCredentials | Yes | Yes |
The credentials (user and group, for example) associated with this job. |
customName | String | Yes | Yes |
The user-specified name of this job. |
dates | JobDates | Yes | Yes |
Various dates associated with this job. |
deferCount | Integer | No | No |
The number of times a job has been deferred. |
dependencies | Set<JobDependency> | Yes | No |
Dependencies that must be fulfilled before the job can start. |
description | String | No | No |
The description of the job. Can be set only in a job template. |
duration | Long | Yes | Yes |
The length of time in seconds requested for the job. Note that it is possible to set duration to "INFINITY" if the AllowInfiniteJobs flag is set on the scheduler in the moab.cfg. |
durationActive | Long | No | No |
The length of time in seconds the job has been active or running. |
durationQueued | Long | No | No |
The length of time in seconds the job has been eligible to run in the queue. |
durationRemaining | Long | No | No |
An estimate of the time remaining, in seconds, before the job will complete. |
durationSuspended | Long | No | No |
The length of time in seconds the job has been suspended. |
emailNotifyAddresses | Set<String> | Yes | No |
The list of addresses to whom email is sent by the execution server. |
emailNotifyTypes | Set<JobEmailNotifyType> | Yes | No |
The list of email notify types attached to the job. |
environmentRequested | Boolean | Yes | No |
Setting this field to true tells the Moab Workload Manager to set various variables, if populated, in the job's environment. |
environmentVariables | Map<String, Map> | Yes | No |
The list of environment variables for this job. |
epilogScript | String | Yes | No |
The path to the TORQUE epilog script. |
flags | Set<JobFlag> | Yes | Yes |
The flags that are set on this job. |
holdDate | Date | No | No |
The date the most recent hold was placed on the job. |
holdReason | JobHoldReason | No | No |
The reason the job is on hold. |
holds | Set<JobHoldType> | Yes | Yes |
The holds that are set on the job. The "User" hold type is valid during POST. |
initialWorkingDirectory | String | Yes | No |
The path to the directory in which the job will be started. |
isActive | Boolean | No | No |
True if the job is active, false if the job is complete. |
jobGroup | String | Yes | No |
The job group to which this job belongs (different from credentials.group). |
masterNode | DomainProxy | No | No |
The first node in the list of allocated nodes for this job. For TORQUE jobs, this represents the "mother superior." |
memorySecondsDedicated | Double | No | No |
The memory seconds dedicated to the job as reported by its resource manager. Not all resource managers provide this information. |
memorySecondsUtilized | Double | No | No |
The memory seconds utilized by the job as reported by its resource manager. Not all resource managers provide this information. |
messages | Set<Message> | No | Yes |
The list of messages associated with the job. The "message" field is valid during PUT. |
migrateCount | Integer | No | No |
The number of times the job has been migrated. |
minimumPreemptTime | Long | No | No |
The minimum length of time, in seconds, an active job must be running before it is eligible for preemption. |
mwmName | String | No | No |
The name of the Moab Workload Manager instance that owns this job. |
name | String | No | No |
The name of this job. This name is unique per instance of Moab Workload Manager (i.e. not globally). |
nodesExcluded | Set<DomainProxy> | Yes | No |
The list of nodes that should not be considered for this job. |
nodesRequested | Set<DomainProxy> | Yes | No |
The exact set, superset, or subset of nodes on which this job must run. (See also: nodesRequestedPolicy.) |
nodesRequestedPolicy | JobHostListMode | Yes | No |
Indicates an exact set, superset, or subset of nodes on which the job must run. Only relevant if nodesRequested is provided. (See also: nodesRequested.) |
partitionAccessList | Set<String> | No | No |
The list of partitions that this job can access. |
partitionAccessListRequested | Set<String> | Yes | Yes |
The list of partitions that this job has requested. |
preemptCount | Integer | No | No |
The number of times the job has been preempted. |
priorities | JobPriority | Yes | Yes |
The list of priorities for the job. |
processorSecondsDedicated | Double | No | No |
The processor seconds dedicated to the job as reported by its resource manager. Not all resource managers provide this information. |
processorSecondsLimit | Double | No | No |
The limit for processorSecondsUtilized. |
processorSecondsUtilized | Double | No | No |
The processor seconds utilized by the job as reported by its resource manager. Not all resource managers provide this information. |
prologScript | String | Yes | No |
The path to the TORQUE prolog script. |
queueStatus | JobQueueStatus | No | No |
The status of the job in its queue. |
rejectPolicies | Set<JobRejectPolicy> | No | No |
The list of policies enabled when a job is rejected. |
requirements | Set<JobRequirement> | Yes | Yes |
The list of items required for this job to run. Only JobRequirement.features is valid during PUT. |
reservationRequested | DomainProxy | Yes | Yes |
The reservation that the job requested. |
resourceFailPolicy | JobResourceFailPolicyType | Yes | No |
The policy that dictates what should happen to the job if it is running and at least one of the resources it is using fails. |
resourceManagerExtension | String | Yes | No |
If provided during POST, this string will be added to the resource manager extension section of the job submission. Example: "bandwidth=120;queuejob=false" |
resourceManagers | Set<ResourceManager> | No | No |
The list of resource managers associated with this job. |
rmStandardErrorFilePath | String | No | No |
The path to the remote file containing the standard error of the job. |
rmStandardOutputFilePath | String | No | No |
The path to the remote file containing the standard output of the job. |
standardErrorFilePath | String | Yes | No |
The path to the file containing the standard error of the job. |
standardOutputFilePath | String | Yes | No |
The path to the file containing the standard output of the job. |
startCount | Integer | No | No |
The number of times the job has been started. |
states | JobStateInformation | No | No |
Information about the state of the job. |
submitHost | String | Yes | No |
The host from which the job was submitted. |
systemJobAction | String | No | No |
The action the system job will take. |
systemJobType | JobSystemJobType | No | No |
The type of system job. In the Moab Cloud Suite, this will usually be "vmtracking" or "generic." |
targetedJobAction | JobActionType | No | No |
The action that this job is performing on another job. |
targetedJobName | String | No | No |
The name of the job on which this job is performing the targetedJobAction. |
templates | Set<DomainProxy> | Yes | No |
The list of all job templates to be set on this job. |
triggers | Set<String> | No | No |
The list of triggers associated with this job. |
variables | Map<String, Map> | Yes | Yes |
The list of variables that this job owns or sets on completion. |
virtualContainers | Set<DomainProxy> | Yes | No |
When submitting this job, add it to the specified existing virtual container. Valid during POST, but only one virtual container can be specified. |
virtualMachines | Set<DomainProxy> | No | No |
The list of virtual machines that are allocated to this job. |
vmUsagePolicy | VMUsagePolicy | Yes | No |
The requested Virtual Machine Usage Policy for this job. |
Field Name | Type | POST | PUT | Description |
---|---|---|---|---|
category | JobBlockCategory | No | No | |
message | String | No | No | |
type | JobBlockType | No | No |
Value | Description |
---|---|
depend | |
jobBlock | |
migrate |
Value | Description |
---|---|
ActivePolicy | |
BadUser | |
Dependency | |
EState | |
FairShare | |
Hold | |
IdlePolicy | |
LocalPolicy | |
NoClass | |
NoData | |
NoResource | |
NoTime | |
PartitionAccess | |
Priority | |
RMSubmissionFailure | |
StartDate | |
State | |
SysLimits |
Moab Workload Manager supports the concept of credentials, which provide a means of attributing policy and resource access to entities such as users and groups. These credentials allow specification of job ownership, tracking of resource usage, enforcement of policies, and many other features.
Field Name | Type | POST | PUT | Description |
---|---|---|---|---|
name | String | Yes | No |
The name of the object on on which the job is dependent. |
type | JobDependencyType | Yes | No |
The type of job dependency. Only set is valid for POST. |
value | String | No | No |
Represents the type of a job dependency. For now, only the "set" type is supported.
Value | Description |
---|---|
set |
Value | Description |
---|---|
JobStart | |
JobEnd | |
JobFail | |
All |
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. |
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. |
PURGEONSUCCESSONLY | Only purge the job if it completed successfully |
Value | Description |
---|---|
Admin | |
NoResources | |
SystemLimitsExceeded | |
BankFailure | |
CannotDebitAccount | |
InvalidAccount | |
RMFailure | |
RMReject | |
PolicyViolation | |
CredAccess | |
CredHold | |
PreReq | |
Data | |
Security | |
MissingDependency |
Value | Description |
---|---|
User | |
System | |
Batch | |
Defer | |
All |
A reference to an object contained within an object. For example, a Virtual Machine object contains a reference to the Node on which it is running. That reference is represented by this class.
Field Name | Type | POST | PUT | Description |
---|---|---|---|---|
name | String | Yes | No |
The name of the object. |
Value | Description |
---|---|
superset | |
subset | |
exactset |
Value | Description |
---|---|
active | |
blocked | |
completed | |
eligible |
Value | Description |
---|---|
CANCEL | |
HOLD | |
IGNORE | |
RETRY |
Field Name | Type | POST | PUT | Description |
---|---|---|---|---|
architecture | String | Yes | No |
The architecture required by the job. |
attributes | Map<String, JobRequirementAttribute> | Yes | No |
Required node attributes with version number support. |
features | Set<String> | No | Yes |
The list of node features the job is scheduled against. |
featuresExcluded | Set<String> | Yes | No |
Excluded node features. That is, do not select nodes with these features. (See also: featuresExcludedMode.) |
featuresExcludedMode | JobRequirementFeaturesMode | Yes | No |
Indicates whether excluded features should be AND'ed or OR'd. The default is AND. Only relevant if featuresExcluded is provided. (See also: featuresExcluded.) |
featuresRequested | Set<String> | Yes | No |
Requested node features. (See also: featuresRequestedMode.) |
featuresRequestedMode | JobRequirementFeaturesMode | Yes | No |
Indicates whether requested features should be AND'ed or OR'd. The default is AND. Only relevant if featuresRequested is provided. (See also: featuresRequested.) |
image | String | Yes | No |
The image required by the job. |
index | Integer | No | No |
The index of the requirement, starting with 0. |
metrics | Map<String, Double> | No | No |
Generic metrics associated with the job as reported by the resource manager. |
nodeAccessPolicy | NodeAccessPolicy | Yes | No |
Specifies how node resources should be accessed. Note: If the job requirements array has more than one element that contains nodeAccessPolicy, only the first occurrence will be used. |
nodeAllocationPolicy | NodeAllocationPolicy | Yes | No |
Specifies how node resources should be selected and allocated to the job. Note: If the job requirements array has more than one element that contains nodeAllocationPolicy, only the first occurrence will be used. |
nodeCount | Integer | Yes | No |
The number of nodes required by the job. |
nodeSet | String | Yes | No |
The requested node set of the job. This must follow the format
|
nodes | Set<AllocatedNode> | No | No |
Nodes that have been allocated to meet this requirement. |
reservation | DomainProxy | No | No |
The allocated reservation (assigned after the job has a reservation). |
resourcesPerTask | Map<String, JobResource> | Yes | No |
Contains requirements for disk, memory, processors, swap, and generic resources. For disk, memory, and swap, the unit is MB. For each resource, the "dedicated" field can be set during POST. |
taskCount | Integer | Yes | No |
The number of tasks (processors) required by this job. |
tasksPerNode | Integer | Yes | No |
The number of tasks to map to each node. |
Field Name | Type | POST | PUT | Description |
---|---|---|---|---|
comparator | String | Yes | No |
The comparison operator. Valid values:
|
displayValue | String | Yes | No |
The display value for the required attribute. |
restriction | JobRequirementAttributeRestriction | Yes | No |
The restriction of this attribute. May be null, but defaults to JobRequirementAttributeRestriction.must. |
value | String | Yes | No |
The value of the required attribute. During POST, if value is missing, blank, or null, do not provide a comparator. |
JobRequirementAttributeRestriction
Represents a restriction for a job requirement attribute.
Value | Description |
---|---|
must |
Value | Description |
---|---|
OR | |
AND |
This enumeration describes how node resources will be shared by various tasks.
Node Allocation enumeration.
Field Name | Type | POST | PUT | Description |
---|---|---|---|---|
name | String | No | No | |
taskCount | Integer | No | No |
Represents counts of dedicated and utilized resources.
Value | Description |
---|---|
CANCEL | |
FAIL | |
HOLD | |
IGNORE | |
NOTIFY | |
REQUEUE |
Field Name | Type | POST | PUT | Description |
---|---|---|---|---|
isDestination | Boolean | No | No | |
isSource | Boolean | No | No | |
jobName | String | No | No | |
name | String | No | No |
Field Name | Type | POST | PUT | Description |
---|---|---|---|---|
state | JobState | No | No | |
stateExpected | JobState | No | No | |
stateLastUpdatedDate | Date | No | No | |
subState | JobSubState | No | No |
Value | Description |
---|---|
Idle | |
Starting | |
Running | |
Removed | |
Completed | |
Hold | |
Deferred | |
Vacated | |
NotQueued | |
Unknown | |
Staging | |
Suspended | |
Blocked |
Value | Description |
---|---|
Epilogue | |
Migrated | |
Preempted | |
Prologue |
Value | Description |
---|---|
generic | |
osprovision | |
osprovision2 | |
poweroff | |
poweron | |
reset | |
storage | |
vmmap | |
vmmigrate | |
vmtracking |
Value | Description |
---|---|
DESTROY | |
MIGRATE | |
MODIFY |
This enumeration describes the virtual machine requirements of a job
This class represents a job in the Moab Workload Manager. A job is a request for compute resources (CPUs, memory, storage) with which the requester can do work for a given amount of time. In an HPC environment, this might be a batch script to perform a Monte Carlo simulation. In a cloud environment, this would be a virtual machine and its associated storage. Moab will evaluate the request and assign the requested resources to the requester based on policies, current demand, and other factors in the data center. A job will also usually have some process that Moab starts automatically at the assigned start time. In an HPC environment, this can be starting a batch script on the assigned nodes. In a cloud environment, this can be starting provisioning processes to create the virtual machine and storage and install software on it.
Field Name | Type | POST | PUT | Description |
---|---|---|---|---|
id | String | No | No |
The unique identifier of this job. Note: this field is not user-assigned and is generated by the database. |
arrayIndex | Long | No | No |
If this job is a sub-job of a JobArray, this field contains the index of this job in the array. For example, if this job is |
arrayMasterName | String | No | No |
If this job is a sub-job of a JobArray, this field contains the name of the job array master. For example, if this job is |
attributes | Set<String> | Yes | No |
The list of generic attributes associated with this job. |
blocks | Set<JobBlock> | No | No |
Reasons the job is blocked from running. |
bypassCount | Integer | No | No |
The number of times the job has been backfilled. |
cancelCount | Integer | No | No |
The number of times a job has received a cancel request. |
commandFile | String | Yes | No |
The path to the file that is executed when this job runs. This is the script that will call all the work of this job. |
commandLineArguments | String | Yes | No |
The command line arguments passed to the commandFile. |
completionCode | Integer | No | No |
The exit code from this job. |
cpuTime | Long | No | No |
CPU usage time in seconds as reported by the resource manager. |
credentials | JobCredentials | Yes | Yes |
The credentials (user and group, for example) associated with this job. |
customName | String | Yes | Yes |
The user-specified name of this job. |
dates | JobDates | Yes | Yes |
Various dates associated with this job. |
deferCount | Integer | No | No |
The number of times a job has been deferred. |
dependencies | Set<JobDependency> | Yes | No |
Dependencies that must be fulfilled before the job can start. |
description | String | No | No |
The description of the job. Can be set only in a job template. |
duration | Long | Yes | Yes |
The length of time in seconds requested for the job. Note that it is possible to set duration to "INFINITY" if the AllowInfiniteJobs flag is set on the scheduler in the moab.cfg. |
durationActive | Long | No | No |
The length of time in seconds the job has been active or running. |
durationQueued | Long | No | No |
The length of time in seconds the job has been eligible to run in the queue. |
durationRemaining | Long | No | No |
An estimate of the time remaining, in seconds, before the job will complete. |
durationSuspended | Long | No | No |
The length of time in seconds the job has been suspended. |
emailNotifyAddresses | Set<String> | Yes | No |
The list of addresses to whom email is sent by the execution server. |
emailNotifyTypes | Set<JobEmailNotifyType> | Yes | No |
The list of email notify types attached to the job. |
environmentRequested | Boolean | Yes | No |
Setting this field to true tells the Moab Workload Manager to set various variables, if populated, in the job's environment. |
environmentVariables | Map<String, Map> | Yes | No |
The list of environment variables for this job. |
epilogScript | String | Yes | No |
The path to the TORQUE epilog script. |
flags | Set<JobFlag> | Yes | Yes |
The flags that are set on this job. |
holdDate | Date | No | No |
The date the most recent hold was placed on the job. |
holdReason | JobHoldReason | No | No |
The reason the job is on hold. |
holds | Set<JobHoldType> | Yes | Yes |
The holds that are set on the job. The "User" hold type is valid during POST. |
initialWorkingDirectory | String | Yes | No |
The path to the directory in which the job will be started. |
isActive | Boolean | No | No |
True if the job is active, false if the job is complete. |
jobGroup | String | Yes | No |
The job group to which this job belongs (different from credentials.group). |
masterNode | DomainProxy | No | No |
The first node in the list of allocated nodes for this job. For TORQUE jobs, this represents the "mother superior." |
memorySecondsDedicated | Double | No | No |
The memory seconds dedicated to the job as reported by its resource manager. Not all resource managers provide this information. |
memorySecondsUtilized | Double | No | No |
The memory seconds utilized by the job as reported by its resource manager. Not all resource managers provide this information. |
messages | Set<Message> | No | Yes |
The list of messages associated with the job. The "message" field is valid during PUT. |
migrateCount | Integer | No | No |
The number of times the job has been migrated. |
minimumPreemptTime | Long | No | No |
The minimum length of time, in seconds, an active job must be running before it is eligible for preemption. |
mwmName | String | No | No |
The name of the Moab Workload Manager instance that owns this job. |
name | String | No | No |
The name of this job. This name is unique per instance of Moab Workload Manager (i.e. not globally). |
nodesExcluded | Set<DomainProxy> | Yes | No |
The list of nodes that should not be considered for this job. |
nodesRequested | Set<DomainProxy> | Yes | No |
The exact set, superset, or subset of nodes on which this job must run. (See also: nodesRequestedPolicy.) |
nodesRequestedPolicy | JobHostListMode | Yes | No |
Indicates an exact set, superset, or subset of nodes on which the job must run. Only relevant if nodesRequested is provided. (See also: nodesRequested.) |
partitionAccessList | Set<String> | No | No |
The list of partitions that this job can access. |
partitionAccessListRequested | Set<String> | Yes | Yes |
The list of partitions that this job has requested. |
preemptCount | Integer | No | No |
The number of times the job has been preempted. |
priorities | JobPriority | Yes | Yes |
The list of priorities for the job. |
processorSecondsDedicated | Double | No | No |
The processor seconds dedicated to the job as reported by its resource manager. Not all resource managers provide this information. |
processorSecondsLimit | Double | No | No |
The limit for processorSecondsUtilized. |
processorSecondsUtilized | Double | No | No |
The processor seconds utilized by the job as reported by its resource manager. Not all resource managers provide this information. |
prologScript | String | Yes | No |
The path to the TORQUE prolog script. |
queueStatus | JobQueueStatus | No | No |
The status of the job in its queue. |
rejectPolicies | Set<JobRejectPolicy> | No | No |
The list of policies enabled when a job is rejected. |
requirements | Set<JobRequirement> | Yes | Yes |
The list of items required for this job to run. Only JobRequirement.features is valid during PUT. |
reservationRequested | DomainProxy | Yes | Yes |
The reservation that the job requested. |
resourceFailPolicy | JobResourceFailPolicyType | Yes | No |
The policy that dictates what should happen to the job if it is running and at least one of the resources it is using fails. |
resourceManagerExtension | String | Yes | No |
If provided during POST, this string will be added to the resource manager extension section of the job submission. Example: "bandwidth=120;queuejob=false" |
resourceManagers | Set<ResourceManager> | No | No |
The list of resource managers associated with this job. |
rmStandardErrorFilePath | String | No | No |
The path to the remote file containing the standard error of the job. |
rmStandardOutputFilePath | String | No | No |
The path to the remote file containing the standard output of the job. |
standardErrorFilePath | String | Yes | No |
The path to the file containing the standard error of the job. |
standardOutputFilePath | String | Yes | No |
The path to the file containing the standard output of the job. |
startCount | Integer | No | No |
The number of times the job has been started. |
states | JobStateInformation | No | No |
Information about the state of the job. |
submitHost | String | Yes | No |
The host from which the job was submitted. |
systemJobAction | String | No | No |
The action the system job will take. |
systemJobType | JobSystemJobType | No | No |
The type of system job. In the Moab Cloud Suite, this will usually be "vmtracking" or "generic." |
targetedJobAction | JobActionType | No | No |
The action that this job is performing on another job. |
targetedJobName | String | No | No |
The name of the job on which this job is performing the targetedJobAction. |
templates | Set<DomainProxy> | Yes | No |
The list of all job templates to be set on this job. |
triggers | Set<String> | No | No |
The list of triggers associated with this job. |
variables | Map<String, Map> | Yes | Yes |
The list of variables that this job owns or sets on completion. |
virtualContainers | Set<DomainProxy> | Yes | No |
When submitting this job, add it to the specified existing virtual container. Valid during POST, but only one virtual container can be specified. |
virtualMachines | Set<DomainProxy> | No | No |
The list of virtual machines that are allocated to this job. |
vmUsagePolicy | VMUsagePolicy | Yes | No |
The requested Virtual Machine Usage Policy for this job. |
Field Name | Type | POST | PUT | Description |
---|---|---|---|---|
category | JobBlockCategory | No | No | |
message | String | No | No | |
type | JobBlockType | No | No |
Value | Description |
---|---|
depend | |
jobBlock | |
migrate |
Value | Description |
---|---|
ActivePolicy | |
BadUser | |
Dependency | |
EState | |
FairShare | |
Hold | |
IdlePolicy | |
LocalPolicy | |
NoClass | |
NoData | |
NoResource | |
NoTime | |
PartitionAccess | |
Priority | |
RMSubmissionFailure | |
StartDate | |
State | |
SysLimits |
Moab Workload Manager supports the concept of credentials, which provide a means of attributing policy and resource access to entities such as users and groups. These credentials allow specification of job ownership, tracking of resource usage, enforcement of policies, and many other features.
Field Name | Type | POST | PUT | Description |
---|---|---|---|---|
name | String | Yes | No |
The name of the object on on which the job is dependent. |
type | JobDependencyType | Yes | No |
The type of job dependency. Only set is valid for POST. |
value | String | No | No |
Represents the type of a job dependency. For now, only the "set" type is supported.
Value | Description |
---|---|
set |
Value | Description |
---|---|
JobStart | |
JobEnd | |
JobFail | |
All |
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. |
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. |
PURGEONSUCCESSONLY | Only purge the job if it completed successfully |
Value | Description |
---|---|
Admin | |
NoResources | |
SystemLimitsExceeded | |
BankFailure | |
CannotDebitAccount | |
InvalidAccount | |
RMFailure | |
RMReject | |
PolicyViolation | |
CredAccess | |
CredHold | |
PreReq | |
Data | |
Security | |
MissingDependency |
Value | Description |
---|---|
User | |
System | |
Batch | |
Defer | |
All |
A reference to an object contained within an object. For example, a Virtual Machine object contains a reference to the Node on which it is running. That reference is represented by this class.
Field Name | Type | POST | PUT | Description |
---|---|---|---|---|
name | String | Yes | No |
The name of the object. |
Value | Description |
---|---|
superset | |
subset | |
exactset |
Value | Description |
---|---|
active | |
blocked | |
completed | |
eligible |
Value | Description |
---|---|
CANCEL | |
HOLD | |
IGNORE | |
RETRY |
Field Name | Type | POST | PUT | Description |
---|---|---|---|---|
architecture | String | Yes | No |
The architecture required by the job. |
attributes | Map<String, JobRequirementAttribute> | Yes | No |
Required node attributes with version number support. |
features | Set<String> | No | Yes |
The list of node features the job is scheduled against. |
featuresExcluded | Set<String> | Yes | No |
Excluded node features. That is, do not select nodes with these features. (See also: featuresExcludedMode.) |
featuresExcludedMode | JobRequirementFeaturesMode | Yes | No |
Indicates whether excluded features should be AND'ed or OR'd. The default is AND. Only relevant if featuresExcluded is provided. (See also: featuresExcluded.) |
featuresRequested | Set<String> | Yes | No |
Requested node features. (See also: featuresRequestedMode.) |
featuresRequestedMode | JobRequirementFeaturesMode | Yes | No |
Indicates whether requested features should be AND'ed or OR'd. The default is AND. Only relevant if featuresRequested is provided. (See also: featuresRequested.) |
image | String | Yes | No |
The image required by the job. |
index | Integer | No | No |
The index of the requirement, starting with 0. |
metrics | Map<String, Double> | No | No |
Generic metrics associated with the job as reported by the resource manager. |
nodeAccessPolicy | NodeAccessPolicy | Yes | No |
Specifies how node resources should be accessed. Note: If the job requirements array has more than one element that contains nodeAccessPolicy, only the first occurrence will be used. |
nodeAllocationPolicy | NodeAllocationPolicy | Yes | No |
Specifies how node resources should be selected and allocated to the job. Note: If the job requirements array has more than one element that contains nodeAllocationPolicy, only the first occurrence will be used. |
nodeCount | Integer | Yes | No |
The number of nodes required by the job. |
nodeSet | String | Yes | No |
The requested node set of the job. This must follow the format
|
nodes | Set<AllocatedNode> | No | No |
Nodes that have been allocated to meet this requirement. |
reservation | DomainProxy | No | No |
The allocated reservation (assigned after the job has a reservation). |
resourcesPerTask | Map<String, JobResource> | Yes | No |
Contains requirements for disk, memory, processors, swap, and generic resources. For disk, memory, and swap, the unit is MB. For each resource, the "dedicated" field can be set during POST. |
taskCount | Integer | Yes | No |
The number of tasks (processors) required by this job. |
tasksPerNode | Integer | Yes | No |
The number of tasks to map to each node. |
Field Name | Type | POST | PUT | Description |
---|---|---|---|---|
comparator | String | Yes | No |
The comparison operator. Valid values:
|
displayValue | String | Yes | No |
The display value for the required attribute. |
restriction | JobRequirementAttributeRestriction | Yes | No |
The restriction of this attribute. May be null, but defaults to JobRequirementAttributeRestriction.must. |
value | String | Yes | No |
The value of the required attribute. During POST, if value is missing, blank, or null, do not provide a comparator. |
JobRequirementAttributeRestriction
Represents a restriction for a job requirement attribute.
Value | Description |
---|---|
must |
Value | Description |
---|---|
OR | |
AND |
This enumeration describes how node resources will be shared by various tasks.
Node Allocation enumeration.
Field Name | Type | POST | PUT | Description |
---|---|---|---|---|
name | String | No | No | |
taskCount | Integer | No | No |
Represents counts of dedicated and utilized resources.
Value | Description |
---|---|
CANCEL | |
FAIL | |
HOLD | |
IGNORE | |
NOTIFY | |
REQUEUE |
Field Name | Type | POST | PUT | Description |
---|---|---|---|---|
isDestination | Boolean | No | No | |
isSource | Boolean | No | No | |
jobName | String | No | No | |
name | String | No | No |
Field Name | Type | POST | PUT | Description |
---|---|---|---|---|
state | JobState | No | No | |
stateExpected | JobState | No | No | |
stateLastUpdatedDate | Date | No | No | |
subState | JobSubState | No | No |
Value | Description |
---|---|
Idle | |
Starting | |
Running | |
Removed | |
Completed | |
Hold | |
Deferred | |
Vacated | |
NotQueued | |
Unknown | |
Staging | |
Suspended | |
Blocked |
Value | Description |
---|---|
Epilogue | |
Migrated | |
Preempted | |
Prologue |
Value | Description |
---|---|
generic | |
osprovision | |
osprovision2 | |
poweroff | |
poweron | |
reset | |
storage | |
vmmap | |
vmmigrate | |
vmtracking |
Value | Description |
---|---|
DESTROY | |
MIGRATE | |
MODIFY |
This enumeration describes the virtual machine requirements of a job
Field Name | Type | POST | PUT | Description |
---|---|---|---|---|
id | String | No | No |
The unique ID of the job. |
account | String | Yes | Yes |
The account under which this job runs for billing purposes. |
activeDuration | Long | No | No |
The duration in seconds the job has spent active or running. |
allocatedNodes | Set<DomainProxyVersion1> | No | No |
The nodes that are allocated to this job. |
allocatedVMs | Set<DomainProxyVersion1> | No | No |
The list of VMs that are allocated to this job. |
arrayIndex | Long | No | No |
If this job is a sub-job of a JobArray, this field contains the index of this job in the array. For example, if this job is |
arrayMasterName | String | No | No |
If this job is a sub-job of a JobArray, this field contains the name of the job array master. For example, if this job is |
arraySubJobs | Set<JobArraySubJob> | No | No |
If this job is the job array master, this field contains information concerning the array's sub-jobs. |
blockReason | JobBlockReasonVersion1 | No | No |
The reason the job is blocked. |
bypass | Integer | No | No |
The number of times the job has been backfilled. |
commandFile | String | Yes | No |
The path to the file that is executed when the job runs. This is the script that will call all the work of the job. |
commandLineArguments | String | Yes | No |
The command line arguments passed in when the job is run. |
completionCode | Integer | No | No |
The exit code from the job. |
completionDate | Date | No | No |
The date the job completed. If null, the job hasn't completed yet. |
dedicatedProcessorSeconds | Double | No | No |
Number of processor seconds dedicated to the job. |
dependencies | Set<JobDependencyVersion1> | Yes | No |
The list of dependencies for this job. Valid during POST, but only JobDependencyTypeVersion1.SET dependencies are supported. Not defined during GET. |
destinationRmJobId | String | No | No |
The ID of the job as known by the destination resource manager. |
durationRequested | Long | Yes | Yes |
The amount of time (in seconds) requested for the job. Note that it is possible to set durationRequested to "INFINITY" if the AllowInfiniteJobs flag is set on the scheduler in the moab.cfg. |
earliestStartDate | Date | No | No |
Is usually the same as earliestStartDateRequested. Reported by Moab and cannot be changed by the user. |
earliestStartDateRequested | Date | Yes | Yes |
Used in job creation or modification to set the minimum start time. |
effectivePartitionAccessList | Set<String> | No | No |
The list of partitions that this job can access. |
effectiveQueueDuration | Long | No | No |
The duration in seconds the job has been eligible to run in the queue. |
emailNotifyTypes | Set<JobEmailNotifyTypeVersion1> | Yes | No |
The set of email notify types attached to the job. |
emailNotifyUsers | Set<String> | Yes | No |
The list of users to whom email is sent by the execution server. |
environmentRequested | Boolean | Yes | No |
Setting this field to true tells Moab to set various variables, if populated, to the job's environment. Not defined during GET. |
environmentVariables | Map<String, Map> | Yes | No |
The set of environment variables for this job. |
expectedState | JobStateVersion1 | No | No |
The expected state of the job based on scheduler action. |
flags | Set<JobFlag> | Yes | Yes |
The flags that are set on this job. |
genericAttributes | Set<String> | No | No |
The list of generic attributes the job has requested. |
group | String | Yes | No |
The group under which the job is run. |
holds | Set<JobHoldTypeVersion1> | Yes | Yes |
The holds that are set on the job. During POST, only the USER hold type is supported. |
hosts | Set<String> | Yes | No |
The set of hosts/nodes the job is running on. |
initialWorkingDirectory | String | Yes | No |
The path to the directory in which the job will be started. |
latestCompletedDateRequested | Date | No | No |
The latest completion date requested by the job. |
masterHost | String | No | No |
The node/host that the primary task will run on. |
memoryRequested | Integer | No | No |
The amount of memory in MB requested by the job. |
messages | Set<MessageVersion1> | No | Yes |
The list of system and user messages. |
name | String | Yes | Yes |
The user-specified name of the job. |
os | String | Yes | No |
The operating system required for the job. |
partitionAccessList | Set<String> | No | No |
The list of partitions that this job has requested. |
qos | String | No | No |
The QoS under which the job is running. |
qosRequested | String | Yes | Yes |
The QoS the job requested. This may not be the QoS the job is given based on policies. |
queue | String | Yes | Yes |
The class or queue in which the job is running. |
queueStatus | JobQueueStatusVersion1 | No | No |
The status of the job in its queue. |
requirements | Set<JobRequirementVersion1> | Yes | Yes |
The list of items required for this job to run. Only JobRequirementVersion1.requiredPartition is valid during PUT. |
reservationRequested | String | Yes | Yes |
The reservation that the job requested. |
reservationStartDate | Date | No | No |
The start date of the reservation in which the job is running. |
rmExtension | String | No | No |
The resource manager extension String that describes information passed to the the resource manager accounting for the job. |
rmName | String | No | No |
The name of the resource manager that is reporting this job. |
rmStandardErrorFilePath | String | No | No |
The path to the remote file containing the standard error of the job. |
rmStandardInputFilePath | String | No | No |
The path to the file containing the standard input of the job. |
rmStandardOutputFilePath | String | No | No |
The path to the file containing the standard output of the job. |
runPriority | Long | No | No |
The priority to start running the job. |
sourceRmJobId | String | No | No |
The ID of the job as known by the source resource manager. |
standardErrorFilePath | String | Yes | No |
The path to the file containing the standard error of the job. |
standardOutputFilePath | String | Yes | No |
The path to the file containing the standard output of the job. |
startCount | Integer | No | No |
The number of times the job has been started. |
startDate | Date | No | No |
The date the job started. |
startPriority | Long | No | No |
The priority used when the job is first starting. |
state | JobStateVersion1 | No | No |
The job's state. |
submitDate | Date | No | No |
The time when this job was submitted to Moab. |
submitHost | String | Yes | No |
The host from which the job was submitted. |
suspendDuration | Long | No | No |
The duration for which the job has been suspended. |
systemPriority | Long | No | No |
Administrator-specified system priority level. |
templateList | Set<String> | Yes | No |
The list of all job templates to be set on this job. Not defined during GET. |
trigger | String | No | Yes |
Add this trigger to the specified job. Not defined during GET. |
user | String | Yes | No |
The user that is running the job. |
userPriority | Long | Yes | Yes |
The user-specified priority for the job. |
variables | Map<String, Map> | Yes | Yes |
The set of variables this job "owns" or sets on completion. |
virtualContainers | Set<VirtualContainer> | Yes | No |
When submitting this job, add it to the specified existing virtual container. Valid during POST, but only one virtual container can be specified. |
vmUsagePolicy | VMUsagePolicy | Yes | No |
The requested VM Usage Policy for this job. |
Field Name | Type | POST | PUT | Description |
---|---|---|---|---|
id | String | No | No |
The id of the object. |
Represents information about a job array sub-job. This is used in retrieving Job information only. See JobArray for the fields used when creating a job array. This class exists only in MWS API version 1.
Field Name | Type | POST | PUT | Description |
---|---|---|---|---|
id | String | No | No |
The ID of this sub-job. |
arrayIndex | Long | No | No |
The index of this sub-job. For example, if the job ID is |
state | JobStateVersion1 | No | No |
The current state of this sub-job. |
Field Name | Type | POST | PUT | Description |
---|---|---|---|---|
message | String | No | No |
The message associated with the the reason the job is blocked. |
type | JobBlockReasonTypeVersion1 | No | No |
The reason type. |
Field Name | Type | POST | PUT | Description |
---|---|---|---|---|
dependentJobsCount | Integer | No | No |
The number of dependent jobs. |
type | JobDependencyTypeVersion1 | No | No |
The dependency type. |
Value | Description |
---|---|
END | An email will be sent out when the job successfully ends. |
FAIL | An email will be sent out when the job fails. |
START | An email will be sent out when the job starts. |
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. |
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. |
PURGEONSUCCESSONLY | Only purge the job if it completed successfully |
Field Name | Type | POST | PUT | Description |
---|---|---|---|---|
allocatedNodes | Set<DomainProxyVersion1> | No | No |
The set of nodes to which the requirement is allocated. |
allocatedPartition | String | No | No |
The partition allocated to the requirement. |
genericResources | Map<String, Integer> | Yes | No |
The set of generic resources for this job. Each generic resource has a name and an associated amount. |
nodeAccessPolicy | NodeAccessPolicy | Yes | No |
The node access policy the requirement asks for. |
preferredNodeFeatures | Set<String> | No | No |
The list of preferred node features. |
requiredArchitecture | String | Yes | No |
The required architecture. |
requiredClass | String | No | No |
The required class/queue. |
requiredDiskPerTask | Integer | Yes | No |
Required disk per task, in MB. |
requiredMemoryPerTask | Integer | Yes | No |
Required memory per task, in MB. |
requiredNetwork | String | No | No |
The required network. |
requiredNodeCountMinimum | Integer | No | No |
The minimum number of nodes called for by the requirement. |
requiredNodeDisk | Integer | No | No |
The required disk space in MB across all nodes. |
requiredNodeFeatures | Set<String> | Yes | No |
The list of required node features. |
requiredNodeMemory | Integer | No | No |
The required memory in MB across all nodes. |
requiredNodeProcessors | Integer | No | No |
The required processors needed on a per node basis. |
requiredNodeSwap | Integer | No | No |
The required swap in MB across all nodes. |
requiredPartition | String | Yes | Yes |
A colon-separated list that specifies the partition (or partitions) in which the job must run. |
requiredProcessorCountMinimum | Integer | Yes | No |
The minimum task count for this requirement. |
requiredProcessorsPerTask | Integer | Yes | No |
Required processors per task. |
requiredSwapPerTask | Integer | Yes | No |
Required swap per task, in MB. |
tasksPerNode | Integer | Yes | No |
The number of tasks to map to each node. |
This enumeration describes how node resources will be shared by various tasks.
A virtual container is a logical grouping of objects with a shared variable space and applied policies. Containers can hold virtual machines, physical machines, jobs, reservations, and/or nodes and req node sets. Containers can also be nested inside other containers.
Field Name | Type | POST | PUT | Description |
---|---|---|---|---|
id | String | No | No |
The unique ID of this virtual container. |
aclRules | Set<AclRule> | No | No |
The set of access control rules associated with this virtual container. |
createDate | Date | No | No |
The date/time that the virtual container was created. |
creator | String | No | No |
The creator of the virtual container. |
description | String | Yes | Yes |
A user-defined string that acts as a label. |
flags | Set<VirtualContainerFlag> | No | Yes |
The flags on this virtual container. |
jobs | Set<DomainProxyVersion1> | No | Yes |
The set of jobs in this virtual container. |
nodes | Set<DomainProxyVersion1> | No | Yes |
The set of nodes in this virtual container. |
owner | EmbeddedCredential | Yes | Yes |
The owner of the virtual container. |
reservations | Set<Reservation> | No | Yes |
The set of reservations in this virtual container. |
variables | Map<String, Map> | No | Yes |
Variables associated with the virtual container. |
virtualContainers | Set<VirtualContainer> | No | Yes |
The set of virtual containers in this virtual container. |
virtualMachines | Set<DomainProxyVersion1> | No | Yes |
The set of virtual machines in this virtual container. |
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 | POST | PUT | Description |
---|---|---|---|---|
affinity | AclAffinity | No | Yes |
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 | No | Yes |
The type of comparison to make against the ACL object. |
type | AclType | No | Yes |
The type of the object that is being granted (or denied) access. |
value | String | No | Yes |
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.
This enumeration specifies the flag types of a virtual container.
Field Name | Type | POST | PUT | Description |
---|---|---|---|---|
name | String | No | No | |
type | CredentialType | No | No |
Value | Description |
---|---|
USER | |
GROUP | |
ACCOUNT | |
CLASS | |
QOS | |
NOT_SPECIFIED |
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 | POST | PUT | Description |
---|---|---|---|---|
id | String | No | No |
The unique ID of the reservation. |
accountingAccount | String | Yes | No |
Accountable Account. |
accountingGroup | String | Yes | No |
Accountable Group. |
accountingQOS | String | Yes | No |
Accountable QOS. |
accountingUser | String | Yes | No |
Accountable User. |
aclRules | Set<AclRule> | Yes | No |
The set of access control rules associated with this reservation. |
allocatedNodeCount | Integer | No | No |
The number of allocated nodes for this reservation. |
allocatedNodes | Set<DomainProxyVersion1> | No | No |
The nodes allocated to the reservation. |
allocatedProcessorCount | Integer | No | No |
The number of allocated processors. |
allocatedTaskCount | Integer | No | No |
The number of allocated tasks. |
comments | String | Yes | No |
Reservation's comments or description. |
creationDate | Date | No | No |
Creation date. Automatically set by Moab when a user creates the reservation. |
duration | Long | Yes | No |
The duration of the reservation (in seconds). |
endDate | Date | Yes | No |
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> | Yes | No |
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 | No | No |
The date/time when the reservation expires and vacates. |
flags | Set<ReservationFlag> | Yes | No |
The flags associated with the reservation. |
globalId | String | No | No |
Global reservation ID. |
hostListExpression | String | Yes | No |
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 | Yes | No |
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 | No | No |
State whether or not this reservation is currently active. |
isTracked | Boolean | No | No |
States whether reservation resource usage is tracked. |
label | String | Yes | No |
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 | No | No |
The maximum number of tasks for this reservation. |
messages | Set<MessageVersion1> | No | No |
Messages for the reservation. |
owner | EmbeddedCredential | Yes | No |
The owner of the reservation |
partitionId | String | Yes | No |
The ID of the partition this reservation is for. |
profile | String | Yes | No |
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 | Yes | No |
The reservation's requirements. |
reservationGroup | String | Yes | No |
The reservation group to which the reservation belongs. |
resources | Map<String, Integer> | Yes | No |
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 | Yes | No |
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 | No | No |
The reservation's statistical information. |
subType | String | Yes | No |
The reservation sub-type. |
taskCount | Integer | No | No |
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 | Yes | No |
Trigger for reservation. Used only during reservation creation. |
triggerIds | Set<String> | No | No |
The IDs of the triggers attached to this reservation. |
uniqueIndex | String | No | No |
The globally-unique reservation index. |
variables | Map<String, Map> | Yes | Yes |
The set of variables for this reservation. |
The flag types of a reservation.
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 | POST | PUT | Description |
---|---|---|---|---|
id | String | No | No |
Trigger id - internal ID used by moab to track triggers |
action | String | No | No |
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 | No | No | |
blockTime | Date | No | No |
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 | No | No | |
eventType | TriggerEventType | No | No | |
expireTime | Date | No | No |
Time at which trigger should be terminated if it has not already been activated. |
failOffset | Date | No | No |
Specifies the time (in seconds) that the threshold condition must exist before the trigger fires. |
flags | Set<TriggerFlag> | No | No | |
interval | Boolean | No | No |
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 | No | No |
Specifies the number of times Action will be attempted before the trigger is designated a failure. |
multiFire | Boolean | No | No |
Specifies whether this trigger can fire multiple times. Defaults to false. |
name | String | No | No |
Trigger name - can be auto assigned by moab or requested. Alphanumeric up to 16 characters in length |
objectId | String | No | No |
The ID of the object which this is attached to. |
objectType | String | No | No |
The type of object which this is attached to. Possible values:
|
offset | Date | No | No |
Relative time offset from event when trigger can fire. |
period | TriggerPeriod | No | No |
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 | No | No |
Time between MultiFire triggers; rearm time is enforced from the trigger event time. |
requires | String | No | No |
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 | No | No |
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 | No | No |
Reservation usage threshold - When reservation usage drops below Threshold, trigger will fire. |
timeout | Date | No | No |
Time allotted to this trigger before it is marked as unsuccessful and its process (if any) killed. |
unsets | String | No | No |
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 |
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 describes the virtual machine requirements of a job
Related topics