Skip to content

Commit

Permalink
Use clientObject on ValidateAnnotationAsCRDName and ValidateLabelAsCR…
Browse files Browse the repository at this point in the history
…DName.
  • Loading branch information
mbobrovskyi authored and k8s-infra-cherrypick-robot committed Nov 18, 2024
1 parent f02fbb2 commit 98a2761
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 8 deletions.
14 changes: 7 additions & 7 deletions pkg/controller/jobframework/validation.go
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ func ValidateJobOnUpdate(oldJob, newJob GenericJob) field.ErrorList {
func validateCreateForQueueName(job GenericJob) field.ErrorList {
var allErrs field.ErrorList
allErrs = append(allErrs, ValidateQueueName(job.Object())...)
allErrs = append(allErrs, ValidateLabelAsCRDName(job.Object().GetLabels(), constants.PrebuiltWorkloadLabel)...)
allErrs = append(allErrs, ValidateLabelAsCRDName(job.Object(), constants.PrebuiltWorkloadLabel)...)

// this rule should be relaxed when its confirmed that running with a prebuilt wl is fully supported by each integration
if _, hasPrebuilt := job.Object().GetLabels()[constants.PrebuiltWorkloadLabel]; hasPrebuilt {
Expand All @@ -80,19 +80,19 @@ func validateCreateForQueueName(job GenericJob) field.ErrorList {
return allErrs
}

func ValidateAnnotationAsCRDName(annotations map[string]string, crdNameAnnotation string) field.ErrorList {
func ValidateAnnotationAsCRDName(obj client.Object, crdNameAnnotation string) field.ErrorList {
var allErrs field.ErrorList
if value, exists := annotations[crdNameAnnotation]; exists {
if value, exists := obj.GetAnnotations()[crdNameAnnotation]; exists {
if errs := validation.IsDNS1123Subdomain(value); len(errs) > 0 {
allErrs = append(allErrs, field.Invalid(annotationsPath.Key(crdNameAnnotation), value, strings.Join(errs, ",")))
}
}
return allErrs
}

func ValidateLabelAsCRDName(labels map[string]string, crdNameLabel string) field.ErrorList {
func ValidateLabelAsCRDName(obj client.Object, crdNameLabel string) field.ErrorList {
var allErrs field.ErrorList
if value, exists := labels[crdNameLabel]; exists {
if value, exists := obj.GetLabels()[crdNameLabel]; exists {
if errs := validation.IsDNS1123Subdomain(value); len(errs) > 0 {
allErrs = append(allErrs, field.Invalid(labelsPath.Key(crdNameLabel), value, strings.Join(errs, ",")))
}
Expand All @@ -102,8 +102,8 @@ func ValidateLabelAsCRDName(labels map[string]string, crdNameLabel string) field

func ValidateQueueName(obj client.Object) field.ErrorList {
var allErrs field.ErrorList
allErrs = append(allErrs, ValidateLabelAsCRDName(obj.GetLabels(), constants.QueueLabel)...)
allErrs = append(allErrs, ValidateAnnotationAsCRDName(obj.GetAnnotations(), constants.QueueAnnotation)...)
allErrs = append(allErrs, ValidateLabelAsCRDName(obj, constants.QueueLabel)...)
allErrs = append(allErrs, ValidateAnnotationAsCRDName(obj, constants.QueueAnnotation)...)
return allErrs
}

Expand Down
2 changes: 1 addition & 1 deletion pkg/controller/jobs/pod/pod_webhook.go
Original file line number Diff line number Diff line change
Expand Up @@ -288,7 +288,7 @@ func validatePodGroupMetadata(p *Pod) field.ErrorList {
))
}
} else {
allErrs = append(allErrs, jobframework.ValidateLabelAsCRDName(p.Object().GetLabels(), GroupNameLabel)...)
allErrs = append(allErrs, jobframework.ValidateLabelAsCRDName(p.Object(), GroupNameLabel)...)

if !gtcExists {
return append(allErrs, field.Required(
Expand Down

0 comments on commit 98a2761

Please sign in to comment.