Add servedVersions info in StorageVersion API

This commit is contained in:
Richa Banker
2023-06-01 18:07:56 -07:00
parent 1c7e87cff2
commit 1c48b7ec14
23 changed files with 295 additions and 61 deletions

View File

@@ -98,6 +98,22 @@ func validateServerStorageVersion(ssv apiserverinternal.ServerStorageVersion, fl
if !found {
allErrs = append(allErrs, field.Invalid(fldPath.Child("decodableVersions"), ssv.DecodableVersions, fmt.Sprintf("decodableVersions must include encodingVersion %s", ssv.EncodingVersion)))
}
for i, sv := range ssv.ServedVersions {
if errs := isValidAPIVersion(sv); len(errs) > 0 {
allErrs = append(allErrs, field.Invalid(fldPath.Child("servedVersions").Index(i), sv, strings.Join(errs, ",")))
}
foundDecodableVersion := false
for _, dv := range ssv.DecodableVersions {
if sv == dv {
foundDecodableVersion = true
break
}
}
if !foundDecodableVersion {
allErrs = append(allErrs, field.Invalid(fldPath.Child("servedVersions").Index(i), sv, fmt.Sprintf("individual served version : %s must be included in decodableVersions : %s", sv, ssv.DecodableVersions)))
}
}
return allErrs
}