rfc33: define queue membership by hostlist - #544
Conversation
|
|
|
Hold off on reviewing this. It might be nice to make automatically assigned queue properties marked in some way, e.g. with a |
bf38d91 to
b7d25f2
Compare
|
|
|
Ok, now based on top of #545. A leading |
b7d25f2 to
97b0ef8
Compare
|
|
97b0ef8 to
e9fb717
Compare
|
Rebased after #545 was merged |
|
|
e9fb717 to
7ef4795
Compare
|
|
|
Queued — the merge queue status continues in this comment ↓. |
Problem: Queue membership is defined indirectly. An admin assigns
a resource property to nodes, then binds a queue to it with
queues.NAME.requires. In practice nearly every configuration uses
one property per queue named after the queue, so the indirection
forces tools to re-implement the property-to-queue join and offers
no way to validate membership.
Add an optional queues.NAME.hosts key that declares queue membership
directly as an RFC 29 Hostlist (or the literal "all"). Flux then
derives the queue's membership property, the queue name prefixed
with the RFC 20 "+" marker, applies it to the named hosts, and
adds the equivalent {"properties": ["+NAME"]} constraint to jobs
submitted to the queue. Define the hostlist as the preferred way
to define membership and note that requires may be deprecated in a
future version.
Assisted-by: Claude:Opus-4.8
7ef4795 to
6533097
Compare
|
Thanks! |
Merge Queue Status
This pull request spent 15 seconds in the queue, including 2 seconds running CI. Required conditions to merge
|
|
|
Problem: RFC 33 queue membership is defined indirectly. An admin assigns a resource property to nodes, then binds a queue to it with queues.NAME.requires. In practice nearly every configuration uses one property per queue named after the queue, so the indirection forces tools to re-implement the property-to-queue join and offers no way to validate membership.
Add an optional queues.NAME.hosts key that declares queue membership directly as an RFC 29 Hostlist (or the literal string "all"). In this case, the queue property is then implicitly assigned the queue name, and jobs have the proper constraint automatically assigned. Properties that match queue names are then reserved. Document in the spec that hosts is the preferred method for defining queues, and that
requiresmay be deprecated in the future.Assisted-by: Claude:Opus-4.8