-
Improvement
-
Resolution: Won't Do
-
Major
-
None
Currently all nodes are created with Node.Mode.EXCLUSIVE flag. It would be very useful if this can be driven by a new property attribute for each node.
There are 4 different use-cases:
- node has defined labels and EXCLUSIVE flag isn't set
- either a job asking for any of these labels or if a job is non restricted it can be scheduled on such a node
- node has defined labels and EXCLUSIVE flag
- only a job asking for any of these labels can be scheduled on such a node
- node hasn't defined labels and EXCLUSIVE flag isn't set
- any job can be schedules on such a node
- this is partially subject of
JENKINS-38366
- node hasn't defined labels and EXCLUSIVE flags is set
- doesn't make sense because Jenkins is unable to schedule a job on such a node even it asks for its provision
- such a node should be reported with WARNING message
Possible implementation:
- a new EXCLUSIVE_MODE attribute supported on Foreman side
- treats value 'true' as Node.Mode.EXCLUSIVE, otherwise Node.Mode.NORMAL
- if a node has an EXCLUSIVE_MODE attribute defined, use its value
- if a node hasn't defined any label and yet has EXCLUSIVE_MODE set to 'true', report it with a warning message to the LOG
- if a node hasn't an EXCLUSIVE_MODE attribute defined treats it like
- node has defined label(s) -> Node.Mode.EXCLUSIVE
- node hasn't defined any label -> Node.Mode.NORMAL
- is related to
-
JENKINS-38366 Instance of ForemanSharedNode should be NORMAL if label == null
- Resolved