- --requires=CONSTRAINT
Specify a set of allowable properties and other attributes to consider when matching resources for a job. The CONSTRAINT is expressed in a simple syntax described in RFC 35 (Constraint Query Syntax) which is then converted into a JSON object compliant with RFC 31 (Job Constraints Specification).
A constraint query string is formed by a series of terms.
A term has the form
operator:operand, e.g.hosts:compute[1-10].Terms may optionally be joined with boolean operators and parenthesis to allow the formation of more complex constraints or queries.
Boolean operators include logical AND (
&,&&, orand), logical OR (|,||, oror), and logical negation (not).Terms separated by whitespace are joined with logical AND by default.
Quoting of terms is supported to allow whitespace and other reserved characters in operand, e.g.
foo:'this is args'.Negation is supported in front of terms such that
-op:operandis equivalent tonot op:operand. Negation is not supported in front of general expressions, e.g.-(a|b)is a syntax error.The full specification of Constraint Query Syntax can be found in RFC 35.
Currently,
--requiressupports the following operators:- properties
Require the set of specified properties. Properties may be comma-separated, in which case all specified properties are required. As a convenience, if a property starts with
^then a matching resource must not have the specified property. In these commands, thepropertiesoperator is the default, so thata,bis equivalent toproperties:a,b.- hostlist
Require matching resources to be in the specified hostlist (in RFC 29 format).
hostorhostsis also accepted.- ranks
Require matching resources to be on the specified broker ranks in RFC 22 Idset String Representation.
Examples:
a b c,a&b&c, ora,b,cRequire properties a and b and c.
a|b|c, ora or b or cRequire property a or b or c.
(a and b) or (b and c)Require properties a and b or b and c.
b|-c,b or not cRequire property b or not c.
host:fluke[1-5]Require host in fluke1 through fluke5.
-host:fluke7Exclude host fluke7.
rank:0Require broker rank 0.