@@ -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