diff --git a/backend/src/apiserver/resource/resource_manager.go b/backend/src/apiserver/resource/resource_manager.go index 7828f8ffb56..032481691fb 100644 --- a/backend/src/apiserver/resource/resource_manager.go +++ b/backend/src/apiserver/resource/resource_manager.go @@ -1022,19 +1022,18 @@ func (r *ResourceManager) CreateJob(ctx context.Context, job *model.Job) (*model for _, modelRef := range job.ResourceReferences { modelRef.ResourceUUID = string(swf.UID) } - if tmpl.GetTemplateType() == template.V1 { - // Get the service account - serviceAccount := "" - if swf.Spec.Workflow != nil { - execSpec, err := util.ScheduleSpecToExecutionSpec(util.ArgoWorkflow, swf.Spec.Workflow) - if err == nil { - serviceAccount = execSpec.ServiceAccount() - } + // Get the service account + serviceAccount := "" + if swf.Spec.Workflow != nil { + execSpec, err := util.ScheduleSpecToExecutionSpec(util.ArgoWorkflow, swf.Spec.Workflow) + if err == nil { + serviceAccount = execSpec.ServiceAccount() } - job.ServiceAccount = serviceAccount + } + job.ServiceAccount = serviceAccount + if tmpl.GetTemplateType() == template.V1 { job.PipelineSpec.WorkflowSpecManifest = manifest } else { - job.ServiceAccount = newScheduledWorkflow.Spec.ServiceAccount job.PipelineSpec.PipelineSpecManifest = manifest } return r.jobStore.CreateJob(job) diff --git a/backend/src/apiserver/template/template_test.go b/backend/src/apiserver/template/template_test.go index 0c0cdc729ec..db417293632 100644 --- a/backend/src/apiserver/template/template_test.go +++ b/backend/src/apiserver/template/template_test.go @@ -220,10 +220,9 @@ func TestScheduledWorkflow(t *testing.T) { Parameters: []scheduledworkflow.Parameter{{Name: "y", Value: "\"world\""}}, Spec: "", }, - PipelineId: "1", - PipelineName: "pipeline name", - NoCatchup: util.BoolPointer(true), - ServiceAccount: "pipeline-runner", + PipelineId: "1", + PipelineName: "pipeline name", + NoCatchup: util.BoolPointer(true), }, } diff --git a/backend/src/apiserver/template/v2_template.go b/backend/src/apiserver/template/v2_template.go index 22ad326fbe9..bc9477bb4a5 100644 --- a/backend/src/apiserver/template/v2_template.go +++ b/backend/src/apiserver/template/v2_template.go @@ -97,9 +97,7 @@ func (t *V2Spec) ScheduledWorkflow(modelJob *model.Job, ownerReferences []metav1 if modelJob.Namespace != "" { executionSpec.SetExecutionNamespace(modelJob.Namespace) } - if executionSpec.ServiceAccount() == "" { - setDefaultServiceAccount(executionSpec, modelJob.ServiceAccount) - } + setDefaultServiceAccount(executionSpec, modelJob.ServiceAccount) // Disable istio sidecar injection if not specified executionSpec.SetAnnotationsToAllTemplatesIfKeyNotExist(util.AnnotationKeyIstioSidecarInject, util.AnnotationValueIstioSidecarInjectDisabled) swfGeneratedName, err := toSWFCRDResourceGeneratedName(modelJob.K8SName) @@ -137,7 +135,7 @@ func (t *V2Spec) ScheduledWorkflow(modelJob *model.Job, ownerReferences []metav1 PipelineId: modelJob.PipelineId, PipelineName: modelJob.PipelineName, PipelineVersionId: modelJob.PipelineVersionId, - ServiceAccount: executionSpec.ServiceAccount(), + ServiceAccount: modelJob.ServiceAccount, }, } return scheduledWorkflow, nil