Skip to content

Commit f933c14

Browse files
committed
Revert "fix(controller): validation failed when dynamic templateRef is used in nested template (argoproj#14053)"
This reverts commit 7fe50f3.
1 parent 325c0cd commit f933c14

File tree

2 files changed

+2
-83
lines changed

2 files changed

+2
-83
lines changed

Diff for: workflow/validate/validate.go

+2-13
Original file line numberDiff line numberDiff line change
@@ -962,12 +962,7 @@ func (ctx *templateValidationCtx) validateSteps(scope map[string]interface{}, tm
962962
if err != nil {
963963
return err
964964
}
965-
var args wfv1.ArgumentsProvider
966-
args = &FakeArguments{}
967-
if step.TemplateRef != nil {
968-
args = &step.Arguments
969-
}
970-
resolvedTmpl, err := ctx.validateTemplateHolder(&step, tmplCtx, args, workflowTemplateValidation)
965+
resolvedTmpl, err := ctx.validateTemplateHolder(&step, tmplCtx, &FakeArguments{}, workflowTemplateValidation)
971966
if err != nil {
972967
return errors.Errorf(errors.CodeBadRequest, "templates.%s.steps[%d].%s %s", tmpl.Name, i, step.Name, err.Error())
973968
}
@@ -1360,13 +1355,7 @@ func (ctx *templateValidationCtx) validateDAG(scope map[string]interface{}, tmpl
13601355
return errors.Errorf(errors.CodeBadRequest, "templates.%s cannot use 'continueOn' when using 'depends'. Instead use 'dep-task.Failed'/'dep-task.Errored'", tmpl.Name)
13611356
}
13621357

1363-
var args wfv1.ArgumentsProvider
1364-
args = &FakeArguments{}
1365-
if task.TemplateRef != nil {
1366-
args = &task.Arguments
1367-
}
1368-
1369-
resolvedTmpl, err := ctx.validateTemplateHolder(&task, tmplCtx, args, workflowTemplateValidation)
1358+
resolvedTmpl, err := ctx.validateTemplateHolder(&task, tmplCtx, &FakeArguments{}, workflowTemplateValidation)
13701359

13711360
if err != nil {
13721361
return errors.Errorf(errors.CodeBadRequest, "templates.%s.tasks.%s %s", tmpl.Name, task.Name, err.Error())

Diff for: workflow/validate/validate_test.go

-70
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ import (
77
"testing"
88

99
"github.com/stretchr/testify/assert"
10-
"github.com/stretchr/testify/require"
1110
apierr "k8s.io/apimachinery/pkg/api/errors"
1211
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
1312

@@ -3344,72 +3343,3 @@ func TestShouldCheckValidationToSpacedParameters(t *testing.T) {
33443343
assert.Contains(t, err.Error(), "failed to resolve {{ workflow.thisdoesnotexist }}")
33453344
}
33463345
}
3347-
3348-
var dynamicWorkflowTemplateARefB = `
3349-
apiVersion: argoproj.io/v1alpha1
3350-
kind: WorkflowTemplate
3351-
metadata:
3352-
name: workflow-template-a
3353-
spec:
3354-
templates:
3355-
- name: template-a
3356-
inputs:
3357-
parameters:
3358-
- name: message
3359-
steps:
3360-
- - name: step-a
3361-
templateRef:
3362-
name: workflow-template-b
3363-
template: "{{ inputs.parameters.message }}"
3364-
`
3365-
3366-
var dynamicWorkflowTemplateRefB = `
3367-
apiVersion: argoproj.io/v1alpha1
3368-
kind: WorkflowTemplate
3369-
metadata:
3370-
name: workflow-template-b
3371-
spec:
3372-
templates:
3373-
- name: template-b
3374-
container:
3375-
image: docker/whalesay
3376-
command: [cowsay]
3377-
args: ["hello from template"]
3378-
`
3379-
3380-
var dynamicTemplateRefWorkflow = `
3381-
apiVersion: argoproj.io/v1alpha1
3382-
kind: Workflow
3383-
metadata:
3384-
generateName: dynamic-workflow-
3385-
spec:
3386-
entrypoint: whalesay
3387-
templates:
3388-
- name: whalesay
3389-
steps:
3390-
- - name: whalesay
3391-
templateRef:
3392-
name: workflow-template-a
3393-
template: template-a
3394-
arguments:
3395-
parameters:
3396-
- name: message
3397-
value: "template-b"
3398-
`
3399-
3400-
func TestDynamicWorkflowTemplateRef(t *testing.T) {
3401-
wf := wfv1.MustUnmarshalWorkflow(dynamicTemplateRefWorkflow)
3402-
wftmplA := wfv1.MustUnmarshalWorkflowTemplate(dynamicWorkflowTemplateARefB)
3403-
wftmplB := wfv1.MustUnmarshalWorkflowTemplate(dynamicWorkflowTemplateRefB)
3404-
3405-
err := createWorkflowTemplate(wftmplA)
3406-
require.NoError(t, err)
3407-
err = createWorkflowTemplate(wftmplB)
3408-
require.NoError(t, err)
3409-
3410-
err = ValidateWorkflow(wftmplGetter, cwftmplGetter, wf, ValidateOpts{})
3411-
require.NoError(t, err)
3412-
3413-
_ = deleteWorkflowTemplate(wftmplA.Name)
3414-
_ = deleteWorkflowTemplate(wftmplB.Name)
3415-
}

0 commit comments

Comments
 (0)