summaryrefslogtreecommitdiff
path: root/web/src/containers/job
diff options
context:
space:
mode:
authorJames E. Blair <jim@acmegating.com>2022-09-03 14:03:36 -0700
committerJames E. Blair <jim@acmegating.com>2022-09-08 13:01:28 -0700
commit1958bbad03d4c2eb59502df8682bdfcb248400c2 (patch)
treeffb6bffdbd41ff93eea1a732aff536db906b2058 /web/src/containers/job
parent64fa9db5799d33838267183f5c6734d4ba5ee7c9 (diff)
downloadzuul-1958bbad03d4c2eb59502df8682bdfcb248400c2.tar.gz
Add nodeset alternatives
This feature instructs Zuul to attempt a second or more node request with a different node configuration (ie, possibly different labels) if the first one fails. It is intended to address the case where a cloud provider is unable to supply specialized high-performance nodes, and the user would like the job to proceed anyway on lower-performance nodes. Change-Id: Idede4244eaa3b21a34c20099214fda6ecdc992df
Diffstat (limited to 'web/src/containers/job')
-rw-r--r--web/src/containers/job/JobVariant.jsx13
1 files changed, 11 insertions, 2 deletions
diff --git a/web/src/containers/job/JobVariant.jsx b/web/src/containers/job/JobVariant.jsx
index bec2276ef..9621cf333 100644
--- a/web/src/containers/job/JobVariant.jsx
+++ b/web/src/containers/job/JobVariant.jsx
@@ -107,7 +107,8 @@ class JobVariant extends React.Component {
const jobInfos = [
'source_context', 'builds', 'status',
'parent', 'attempts', 'timeout', 'semaphores',
- 'nodeset', 'variables', 'override_checkout',
+ 'nodeset', 'nodeset_alternatives', 'variables',
+ 'override_checkout',
]
jobInfos.forEach(key => {
let label = key
@@ -173,7 +174,15 @@ class JobVariant extends React.Component {
)
nice_label = (<span><ClusterIcon /> Required nodes</span>)
}
-
+ if (label === 'nodeset_alternatives') {
+ value = value.map((alt, idx) => {
+ return (<>
+ {(idx > 0 ? <span>or</span>:<></>)}
+ <Nodeset nodeset={alt} />
+ </>)
+ })
+ nice_label = (<span><ClusterIcon /> Required nodes</span>)
+ }
if (label === 'parent') {
value = (
<Link to={tenant.linkPrefix + '/job/' + value}>