mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-13 22:05:59 +00:00
Merge pull request #117852 from tenzen-y/replace-deprecated-sets
Job: Use generic Set in validation
This commit is contained in:
commit
bc6cbdabbe
@ -24,7 +24,6 @@ import (
|
|||||||
|
|
||||||
"github.com/robfig/cron/v3"
|
"github.com/robfig/cron/v3"
|
||||||
|
|
||||||
v1 "k8s.io/api/core/v1"
|
|
||||||
apiequality "k8s.io/apimachinery/pkg/api/equality"
|
apiequality "k8s.io/apimachinery/pkg/api/equality"
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
unversionedvalidation "k8s.io/apimachinery/pkg/apis/meta/v1/validation"
|
unversionedvalidation "k8s.io/apimachinery/pkg/apis/meta/v1/validation"
|
||||||
@ -55,19 +54,19 @@ const (
|
|||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
supportedPodFailurePolicyActions sets.String = sets.NewString(
|
supportedPodFailurePolicyActions = sets.New(
|
||||||
string(batch.PodFailurePolicyActionCount),
|
string(batch.PodFailurePolicyActionCount),
|
||||||
string(batch.PodFailurePolicyActionFailJob),
|
string(batch.PodFailurePolicyActionFailJob),
|
||||||
string(batch.PodFailurePolicyActionIgnore))
|
string(batch.PodFailurePolicyActionIgnore))
|
||||||
|
|
||||||
supportedPodFailurePolicyOnExitCodesOperator sets.String = sets.NewString(
|
supportedPodFailurePolicyOnExitCodesOperator = sets.New(
|
||||||
string(batch.PodFailurePolicyOnExitCodesOpIn),
|
string(batch.PodFailurePolicyOnExitCodesOpIn),
|
||||||
string(batch.PodFailurePolicyOnExitCodesOpNotIn))
|
string(batch.PodFailurePolicyOnExitCodesOpNotIn))
|
||||||
|
|
||||||
supportedPodFailurePolicyOnPodConditionsStatus sets.String = sets.NewString(
|
supportedPodFailurePolicyOnPodConditionsStatus = sets.New(
|
||||||
string(v1.ConditionFalse),
|
string(api.ConditionFalse),
|
||||||
string(v1.ConditionTrue),
|
string(api.ConditionTrue),
|
||||||
string(v1.ConditionUnknown))
|
string(api.ConditionUnknown))
|
||||||
)
|
)
|
||||||
|
|
||||||
// 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
|
||||||
@ -98,7 +97,7 @@ func validateGeneratedSelector(obj *batch.Job, validateBatchLabels bool) field.E
|
|||||||
// backward-compatibility, and experimentation with new
|
// backward-compatibility, and experimentation with new
|
||||||
// labeling/selection schemes. Automatic selector generation should
|
// labeling/selection schemes. Automatic selector generation should
|
||||||
// have placed certain labels on the pod, but this could have failed if
|
// have placed certain labels on the pod, but this could have failed if
|
||||||
// the user added coflicting labels. Validate that the expected
|
// the user added conflicting labels. Validate that the expected
|
||||||
// generated ones are there.
|
// generated ones are there.
|
||||||
allErrs = append(allErrs, apivalidation.ValidateHasLabel(obj.Spec.Template.ObjectMeta, field.NewPath("spec").Child("template").Child("metadata"), batch.LegacyControllerUidLabel, string(obj.UID))...)
|
allErrs = append(allErrs, apivalidation.ValidateHasLabel(obj.Spec.Template.ObjectMeta, field.NewPath("spec").Child("template").Child("metadata"), batch.LegacyControllerUidLabel, string(obj.UID))...)
|
||||||
allErrs = append(allErrs, apivalidation.ValidateHasLabel(obj.Spec.Template.ObjectMeta, field.NewPath("spec").Child("template").Child("metadata"), batch.LegacyJobNameLabel, string(obj.Name))...)
|
allErrs = append(allErrs, apivalidation.ValidateHasLabel(obj.Spec.Template.ObjectMeta, field.NewPath("spec").Child("template").Child("metadata"), batch.LegacyJobNameLabel, string(obj.Name))...)
|
||||||
@ -242,9 +241,9 @@ func validatePodFailurePolicyRule(rule *batch.PodFailurePolicyRule, rulePath *fi
|
|||||||
var allErrs field.ErrorList
|
var allErrs field.ErrorList
|
||||||
actionPath := rulePath.Child("action")
|
actionPath := rulePath.Child("action")
|
||||||
if rule.Action == "" {
|
if rule.Action == "" {
|
||||||
allErrs = append(allErrs, field.Required(actionPath, fmt.Sprintf("valid values: %q", supportedPodFailurePolicyActions.List())))
|
allErrs = append(allErrs, field.Required(actionPath, fmt.Sprintf("valid values: %q", sets.List(supportedPodFailurePolicyActions))))
|
||||||
} else if !supportedPodFailurePolicyActions.Has(string(rule.Action)) {
|
} else if !supportedPodFailurePolicyActions.Has(string(rule.Action)) {
|
||||||
allErrs = append(allErrs, field.NotSupported(actionPath, rule.Action, supportedPodFailurePolicyActions.List()))
|
allErrs = append(allErrs, field.NotSupported(actionPath, rule.Action, sets.List(supportedPodFailurePolicyActions)))
|
||||||
}
|
}
|
||||||
if rule.OnExitCodes != nil {
|
if rule.OnExitCodes != nil {
|
||||||
allErrs = append(allErrs, validatePodFailurePolicyRuleOnExitCodes(rule.OnExitCodes, rulePath.Child("onExitCodes"), containerNames)...)
|
allErrs = append(allErrs, validatePodFailurePolicyRuleOnExitCodes(rule.OnExitCodes, rulePath.Child("onExitCodes"), containerNames)...)
|
||||||
@ -271,9 +270,9 @@ func validatePodFailurePolicyRuleOnPodConditions(onPodConditions []batch.PodFail
|
|||||||
statusPath := patternPath.Child("status")
|
statusPath := patternPath.Child("status")
|
||||||
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", supportedPodFailurePolicyOnPodConditionsStatus.List())))
|
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(string(pattern.Status)) {
|
||||||
allErrs = append(allErrs, field.NotSupported(statusPath, pattern.Status, supportedPodFailurePolicyOnPodConditionsStatus.List()))
|
allErrs = append(allErrs, field.NotSupported(statusPath, pattern.Status, sets.List(supportedPodFailurePolicyOnPodConditionsStatus)))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return allErrs
|
return allErrs
|
||||||
@ -283,9 +282,9 @@ func validatePodFailurePolicyRuleOnExitCodes(onExitCode *batch.PodFailurePolicyO
|
|||||||
var allErrs field.ErrorList
|
var allErrs field.ErrorList
|
||||||
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", supportedPodFailurePolicyOnExitCodesOperator.List())))
|
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(string(onExitCode.Operator)) {
|
||||||
allErrs = append(allErrs, field.NotSupported(operatorPath, onExitCode.Operator, supportedPodFailurePolicyOnExitCodesOperator.List()))
|
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) {
|
||||||
allErrs = append(allErrs, field.Invalid(onExitCodesPath.Child("containerName"), *onExitCode.ContainerName, "must be one of the container or initContainer names in the pod template"))
|
allErrs = append(allErrs, field.Invalid(onExitCodesPath.Child("containerName"), *onExitCode.ContainerName, "must be one of the container or initContainer names in the pod template"))
|
||||||
|
Loading…
Reference in New Issue
Block a user