Versions Compared

    Key

    • This line was added.
    • This line was removed.
    • Formatting was changed.

    ...

    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.kindjob 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:

    ...