Merge pull request #118520 from jpbetz/validate-unique
Add merge map key validation to StorageVersions
This commit is contained in:
@@ -21,6 +21,7 @@ import (
|
||||
"strings"
|
||||
|
||||
apimachineryvalidation "k8s.io/apimachinery/pkg/api/validation"
|
||||
"k8s.io/apimachinery/pkg/util/sets"
|
||||
utilvalidation "k8s.io/apimachinery/pkg/util/validation"
|
||||
"k8s.io/apimachinery/pkg/util/validation/field"
|
||||
"k8s.io/kubernetes/pkg/apis/apiserverinternal"
|
||||
@@ -67,7 +68,13 @@ func ValidateStorageVersionStatusUpdate(sv, oldSV *apiserverinternal.StorageVers
|
||||
|
||||
func validateStorageVersionStatus(ss apiserverinternal.StorageVersionStatus, fldPath *field.Path) field.ErrorList {
|
||||
var allErrs field.ErrorList
|
||||
allAPIServerIDs := sets.New[string]()
|
||||
for i, ssv := range ss.StorageVersions {
|
||||
if allAPIServerIDs.Has(ssv.APIServerID) {
|
||||
allErrs = append(allErrs, field.Duplicate(fldPath.Child("storageVersions").Index(i).Child("apiServerID"), ssv.APIServerID))
|
||||
} else {
|
||||
allAPIServerIDs.Insert(ssv.APIServerID)
|
||||
}
|
||||
allErrs = append(allErrs, validateServerStorageVersion(ssv, fldPath.Child("storageVersions").Index(i))...)
|
||||
}
|
||||
if err := validateCommonVersion(ss, fldPath); err != nil {
|
||||
|
Reference in New Issue
Block a user