Skip to content

Commit 909d230

Browse files
committed
Allow to ignore node selectors on argo workflows
1 parent 2500df0 commit 909d230

File tree

1 file changed

+11
-4
lines changed

1 file changed

+11
-4
lines changed

run/src/main/kotlin/com/cosmotech/run/workflow/argo/WorkflowBuilders.kt

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -99,12 +99,15 @@ internal fun buildTemplate(
9999
container.command(listOf(runContainer.entrypoint))
100100
}
101101

102-
val template =
102+
var template =
103103
IoArgoprojWorkflowV1alpha1Template()
104104
.name(runContainer.name.lowercase())
105105
.metadata(IoArgoprojWorkflowV1alpha1Metadata().labels(runContainer.labels))
106106
.container(container)
107-
.nodeSelector(runContainer.getNodeLabelSize())
107+
108+
if (csmPlatformProperties.argo.workflows.ignoreNodeSelector == false) {
109+
template = template.nodeSelector(runContainer.getNodeLabelSize())
110+
}
108111

109112
return template
110113
}
@@ -150,7 +153,6 @@ internal fun buildWorkflowSpec(
150153
executionTimeout: Int?,
151154
alwaysPull: Boolean = false
152155
): IoArgoprojWorkflowV1alpha1WorkflowSpec {
153-
val nodeSelector = mutableMapOf("kubernetes.io/os" to "linux", "cosmotech.com/tier" to "compute")
154156
val templates =
155157
startContainers.containers
156158
.map { container ->
@@ -167,13 +169,18 @@ internal fun buildWorkflowSpec(
167169
?.filterNot(String::isBlank)
168170
?.map(V1LocalObjectReference()::name)
169171
?.ifEmpty { null })
170-
.nodeSelector(nodeSelector)
171172
.tolerations(listOf(V1Toleration().key("vendor").value("cosmotech").effect("NoSchedule")))
172173
.serviceAccountName(csmPlatformProperties.argo.workflows.serviceAccountName)
173174
.entrypoint(CSM_DAG_ENTRYPOINT)
174175
.templates(templates)
175176
.volumeClaimTemplates(buildVolumeClaims(csmPlatformProperties))
176177

178+
if (csmPlatformProperties.argo.workflows.ignoreNodeSelector == false) {
179+
workflowSpec =
180+
workflowSpec.nodeSelector(
181+
mutableMapOf("kubernetes.io/os" to "linux", "cosmotech.com/tier" to "compute"))
182+
}
183+
177184
workflowSpec.activeDeadlineSeconds = executionTimeout ?: CSM_ARGO_WORKFLOWS_TIMEOUT
178185

179186
return workflowSpec

0 commit comments

Comments
 (0)