From 89f0ab7860e61864d54cc1d619bc966708c8a5a9 Mon Sep 17 00:00:00 2001 From: zhixian Date: Mon, 21 Nov 2022 10:56:38 +0800 Subject: [PATCH] fix: only validate Kubernetes Job --- .../v1beta1/experiment/validator/validator.go | 30 ++++++++----------- 1 file changed, 13 insertions(+), 17 deletions(-) diff --git a/pkg/webhook/v1beta1/experiment/validator/validator.go b/pkg/webhook/v1beta1/experiment/validator/validator.go index aeaf911904a..eacf9a2396f 100644 --- a/pkg/webhook/v1beta1/experiment/validator/validator.go +++ b/pkg/webhook/v1beta1/experiment/validator/validator.go @@ -376,26 +376,22 @@ func (g *DefaultValidator) validateTrialTemplate(instance *experimentsv1beta1.Ex func (g *DefaultValidator) validateTrialJob(runSpec *unstructured.Unstructured) error { gvk := runSpec.GroupVersionKind() - // Validate only Job - switch gvk.Kind { - case consts.JobKindJob: - batchJob := batchv1.Job{} - - // Validate that RunSpec can be converted to Batch Job - err := runtime.DefaultUnstructuredConverter.FromUnstructured(runSpec.Object, &batchJob) - if err != nil { - return fmt.Errorf("unable to convert spec.TrialTemplate: %v to %v: %v", runSpec.Object, gvk.Kind, err) - } + // Validate only Kuernetes Job + if gvk.GroupVersion() != batchv1.SchemeGroupVersion { + return nil + } - // Try to patch runSpec to Batch Job - // TODO (andreyvelich): Do we want to remove it completely ? - err = validatePatchJob(runSpec, batchJob, gvk.Kind) - if err != nil { - return err - } + batchJob := batchv1.Job{} + + // Validate that RunSpec can be converted to Batch Job + err := runtime.DefaultUnstructuredConverter.FromUnstructured(runSpec.Object, &batchJob) + if err != nil { + return fmt.Errorf("unable to convert spec.TrialTemplate: %v to %v: %v", runSpec.Object, gvk.Kind, err) } - return nil + // Try to patch runSpec to Batch Job + // TODO (andreyvelich): Do we want to remove it completely ? + return validatePatchJob(runSpec, batchJob, gvk.Kind) } func validatePatchJob(runSpec *unstructured.Unstructured, job interface{}, jobType string) error {