...
String and numeric comparisons are automatically resolved based upon the values they resolve to.
Quoting
Since a job requirement can include a number of operator characters, any reference to a property or resource that includes an operator should be quoted so the interpreter can differentiate between the literal character and the operator.
Example
$ qbsub --requirements "host.kernel_version eq '2.6.17-1.2142_FC4smp'"
...
Operands in Qube! also have a syntax. They all follow a base class.type
format.
Host.type operands
Operand | Values |
---|---|
host.os | "linux", "irix", "winnt", "osx" |
host.processor_speed | CPU speed in MHz |
host.processor_make | "GenuineIntel", "AuthenticAMD" |
host.processor_model | "pentium" |
host.kernel_version | Version reported by the operating system. |
host.architecture | "intel", "mips" |
host.name | Host name |
host.groups | Comma delimited list of group names |
host.cluster | Cluster specification string |
host.state | Host state |
host.restrictions | List of restricted cluster specification strings |
host.flags | Numeric representation of the Worker's flags |
host.qube_version | Worker version of Qube! |
host.jobtypes | Comma delimited list of job types |
host.flag.name | true if the flag exists |
host.duty.property | Comma delimited list of job properties for jobs on the worker. |
...
Examples
Example
Here are some examples of job requirements that include property expressions:
...
Operand (resource) | Values |
---|---|
host.processors.[ used | avail | total ] | Number of processors available on the worker |
host.memory.[ used | avail | total ] | Memory in Mb available on the worker |
host.swap.[ used | avail | total ] | Swap space available in Mb on the worker |
Example
Here is an example of a job requirement that uses a host resource expression:
...
Operand | Description |
---|---|
job.name | job name |
job.id | job id |
job.pid | job's parent id |
job.pgrp | job process group |
job.priority | job priority |
job.label | job's label |
job.user | job's owner |
job.status | job status |
job.prototype,job.type | job type |
job.cluster | job's cluster value |
job.restrictions | restrictions list |
job.kind | user defined job "kind" |
job.reservations | job's reservations |
job.requirements | job's requirements |
job.flags | job's flags numeric value |
job.flag.[name] | true if the flag exists |
job.kind | job kind |
...
Examples
Here are examples of job requirements that use job resource expressions:
% qbsub --requirements "job.type in host.jobtypes" ls
% qbsub --requirements "job.user eq host.name" ls
...
More advanced uses of the requirements expression allow Qube! users to route a job to a specific host and also conversely restrict a job from a host.
Common Uses:
Run my job only on linux hosts:
...