Job: Stop unnecessary sting casts in validations

Signed-off-by: Yuki Iwai <yuki.iwai.tz@gmail.com>
This commit is contained in:
Yuki Iwai 2024-02-02 06:46:30 +09:00
parent 922fbbf5b7
commit 71bf563034

View File

@ -64,23 +64,23 @@ const (
var ( var (
supportedPodFailurePolicyActions = sets.New( supportedPodFailurePolicyActions = sets.New(
string(batch.PodFailurePolicyActionCount), batch.PodFailurePolicyActionCount,
string(batch.PodFailurePolicyActionFailIndex), batch.PodFailurePolicyActionFailIndex,
string(batch.PodFailurePolicyActionFailJob), batch.PodFailurePolicyActionFailJob,
string(batch.PodFailurePolicyActionIgnore)) batch.PodFailurePolicyActionIgnore)
supportedPodFailurePolicyOnExitCodesOperator = sets.New( supportedPodFailurePolicyOnExitCodesOperator = sets.New(
string(batch.PodFailurePolicyOnExitCodesOpIn), batch.PodFailurePolicyOnExitCodesOpIn,
string(batch.PodFailurePolicyOnExitCodesOpNotIn)) batch.PodFailurePolicyOnExitCodesOpNotIn)
supportedPodFailurePolicyOnPodConditionsStatus = sets.New( supportedPodFailurePolicyOnPodConditionsStatus = sets.New(
string(api.ConditionFalse), api.ConditionFalse,
string(api.ConditionTrue), api.ConditionTrue,
string(api.ConditionUnknown)) api.ConditionUnknown)
supportedPodReplacementPolicy = sets.New( supportedPodReplacementPolicy = sets.New(
string(batch.Failed), batch.Failed,
string(batch.TerminatingOrFailed)) batch.TerminatingOrFailed)
) )
// validateGeneratedSelector validates that the generated selector on a controller object match the controller object // validateGeneratedSelector validates that the generated selector on a controller object match the controller object
@ -207,7 +207,7 @@ func validateJobSpec(spec *batch.JobSpec, fldPath *field.Path, opts apivalidatio
} }
if spec.CompletionMode != nil { if spec.CompletionMode != nil {
if *spec.CompletionMode != batch.NonIndexedCompletion && *spec.CompletionMode != batch.IndexedCompletion { if *spec.CompletionMode != batch.NonIndexedCompletion && *spec.CompletionMode != batch.IndexedCompletion {
allErrs = append(allErrs, field.NotSupported(fldPath.Child("completionMode"), spec.CompletionMode, []string{string(batch.NonIndexedCompletion), string(batch.IndexedCompletion)})) allErrs = append(allErrs, field.NotSupported(fldPath.Child("completionMode"), spec.CompletionMode, []batch.CompletionMode{batch.NonIndexedCompletion, batch.IndexedCompletion}))
} }
if *spec.CompletionMode == batch.IndexedCompletion { if *spec.CompletionMode == batch.IndexedCompletion {
if spec.Completions == nil { if spec.Completions == nil {
@ -260,7 +260,7 @@ func validateJobSpec(spec *batch.JobSpec, fldPath *field.Path, opts apivalidatio
fmt.Sprintf("valid values: %q, %q", api.RestartPolicyOnFailure, api.RestartPolicyNever))) fmt.Sprintf("valid values: %q, %q", api.RestartPolicyOnFailure, api.RestartPolicyNever)))
} else if spec.Template.Spec.RestartPolicy != api.RestartPolicyOnFailure && spec.Template.Spec.RestartPolicy != api.RestartPolicyNever { } else if spec.Template.Spec.RestartPolicy != api.RestartPolicyOnFailure && spec.Template.Spec.RestartPolicy != api.RestartPolicyNever {
allErrs = append(allErrs, field.NotSupported(fldPath.Child("template", "spec", "restartPolicy"), allErrs = append(allErrs, field.NotSupported(fldPath.Child("template", "spec", "restartPolicy"),
spec.Template.Spec.RestartPolicy, []string{string(api.RestartPolicyOnFailure), string(api.RestartPolicyNever)})) spec.Template.Spec.RestartPolicy, []api.RestartPolicy{api.RestartPolicyOnFailure, api.RestartPolicyNever}))
} else if spec.PodFailurePolicy != nil && spec.Template.Spec.RestartPolicy != api.RestartPolicyNever { } else if spec.PodFailurePolicy != nil && spec.Template.Spec.RestartPolicy != api.RestartPolicyNever {
allErrs = append(allErrs, field.Invalid(fldPath.Child("template", "spec", "restartPolicy"), allErrs = append(allErrs, field.Invalid(fldPath.Child("template", "spec", "restartPolicy"),
spec.Template.Spec.RestartPolicy, fmt.Sprintf("only %q is supported when podFailurePolicy is specified", api.RestartPolicyNever))) spec.Template.Spec.RestartPolicy, fmt.Sprintf("only %q is supported when podFailurePolicy is specified", api.RestartPolicyNever)))
@ -293,10 +293,10 @@ func validatePodReplacementPolicy(spec *batch.JobSpec, fldPath *field.Path) fiel
// If PodFailurePolicy is specified then we only allow Failed. // If PodFailurePolicy is specified then we only allow Failed.
if spec.PodFailurePolicy != nil { if spec.PodFailurePolicy != nil {
if *spec.PodReplacementPolicy != batch.Failed { if *spec.PodReplacementPolicy != batch.Failed {
allErrs = append(allErrs, field.NotSupported(fldPath, *spec.PodReplacementPolicy, []string{string(batch.Failed)})) allErrs = append(allErrs, field.NotSupported(fldPath, *spec.PodReplacementPolicy, []batch.PodReplacementPolicy{batch.Failed}))
} }
// If PodFailurePolicy not specified we allow values in supportedPodReplacementPolicy. // If PodFailurePolicy not specified we allow values in supportedPodReplacementPolicy.
} else if !supportedPodReplacementPolicy.Has(string(*spec.PodReplacementPolicy)) { } else if !supportedPodReplacementPolicy.Has(*spec.PodReplacementPolicy) {
allErrs = append(allErrs, field.NotSupported(fldPath, *spec.PodReplacementPolicy, sets.List(supportedPodReplacementPolicy))) allErrs = append(allErrs, field.NotSupported(fldPath, *spec.PodReplacementPolicy, sets.List(supportedPodReplacementPolicy)))
} }
} }
@ -312,7 +312,7 @@ func validatePodFailurePolicyRule(spec *batch.JobSpec, rule *batch.PodFailurePol
if spec.BackoffLimitPerIndex == nil { if spec.BackoffLimitPerIndex == nil {
allErrs = append(allErrs, field.Invalid(actionPath, rule.Action, "requires the backoffLimitPerIndex to be set")) allErrs = append(allErrs, field.Invalid(actionPath, rule.Action, "requires the backoffLimitPerIndex to be set"))
} }
} else if !supportedPodFailurePolicyActions.Has(string(rule.Action)) { } else if !supportedPodFailurePolicyActions.Has(rule.Action) {
allErrs = append(allErrs, field.NotSupported(actionPath, rule.Action, sets.List(supportedPodFailurePolicyActions))) allErrs = append(allErrs, field.NotSupported(actionPath, rule.Action, sets.List(supportedPodFailurePolicyActions)))
} }
if rule.OnExitCodes != nil { if rule.OnExitCodes != nil {
@ -341,7 +341,7 @@ func validatePodFailurePolicyRuleOnPodConditions(onPodConditions []batch.PodFail
allErrs = append(allErrs, apivalidation.ValidateQualifiedName(string(pattern.Type), patternPath.Child("type"))...) allErrs = append(allErrs, apivalidation.ValidateQualifiedName(string(pattern.Type), patternPath.Child("type"))...)
if pattern.Status == "" { if pattern.Status == "" {
allErrs = append(allErrs, field.Required(statusPath, fmt.Sprintf("valid values: %q", sets.List(supportedPodFailurePolicyOnPodConditionsStatus)))) allErrs = append(allErrs, field.Required(statusPath, fmt.Sprintf("valid values: %q", sets.List(supportedPodFailurePolicyOnPodConditionsStatus))))
} else if !supportedPodFailurePolicyOnPodConditionsStatus.Has(string(pattern.Status)) { } else if !supportedPodFailurePolicyOnPodConditionsStatus.Has(pattern.Status) {
allErrs = append(allErrs, field.NotSupported(statusPath, pattern.Status, sets.List(supportedPodFailurePolicyOnPodConditionsStatus))) allErrs = append(allErrs, field.NotSupported(statusPath, pattern.Status, sets.List(supportedPodFailurePolicyOnPodConditionsStatus)))
} }
} }
@ -353,7 +353,7 @@ func validatePodFailurePolicyRuleOnExitCodes(onExitCode *batch.PodFailurePolicyO
operatorPath := onExitCodesPath.Child("operator") operatorPath := onExitCodesPath.Child("operator")
if onExitCode.Operator == "" { if onExitCode.Operator == "" {
allErrs = append(allErrs, field.Required(operatorPath, fmt.Sprintf("valid values: %q", sets.List(supportedPodFailurePolicyOnExitCodesOperator)))) allErrs = append(allErrs, field.Required(operatorPath, fmt.Sprintf("valid values: %q", sets.List(supportedPodFailurePolicyOnExitCodesOperator))))
} else if !supportedPodFailurePolicyOnExitCodesOperator.Has(string(onExitCode.Operator)) { } else if !supportedPodFailurePolicyOnExitCodesOperator.Has(onExitCode.Operator) {
allErrs = append(allErrs, field.NotSupported(operatorPath, onExitCode.Operator, sets.List(supportedPodFailurePolicyOnExitCodesOperator))) allErrs = append(allErrs, field.NotSupported(operatorPath, onExitCode.Operator, sets.List(supportedPodFailurePolicyOnExitCodesOperator)))
} }
if onExitCode.ContainerName != nil && !containerNames.Has(*onExitCode.ContainerName) { if onExitCode.ContainerName != nil && !containerNames.Has(*onExitCode.ContainerName) {
@ -561,7 +561,7 @@ func validateConcurrencyPolicy(concurrencyPolicy *batch.ConcurrencyPolicy, fldPa
case "": case "":
allErrs = append(allErrs, field.Required(fldPath, "")) allErrs = append(allErrs, field.Required(fldPath, ""))
default: default:
validValues := []string{string(batch.AllowConcurrent), string(batch.ForbidConcurrent), string(batch.ReplaceConcurrent)} validValues := []batch.ConcurrencyPolicy{batch.AllowConcurrent, batch.ForbidConcurrent, batch.ReplaceConcurrent}
allErrs = append(allErrs, field.NotSupported(fldPath, *concurrencyPolicy, validValues)) allErrs = append(allErrs, field.NotSupported(fldPath, *concurrencyPolicy, validValues))
} }