diff --git a/staging/src/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/validation/validation.go b/staging/src/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/validation/validation.go index fa3a1cbe917..065041b54c9 100644 --- a/staging/src/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/validation/validation.go +++ b/staging/src/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/validation/validation.go @@ -28,6 +28,7 @@ import ( "unicode/utf8" celgo "github.com/google/cel-go/cel" + "k8s.io/apiextensions-apiserver/pkg/apihelpers" "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions" apiextensionsv1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1" @@ -274,7 +275,7 @@ func ValidateCustomResourceDefinitionStoredVersions(storedVersions []string, ver } for v, i := range storedVersionsMap { - allErrs = append(allErrs, field.Invalid(fldPath.Index(i), v, "must appear in spec.versions")) + allErrs = append(allErrs, field.Invalid(fldPath.Index(i), v, fmt.Sprintf("missing from spec.versions; %[1]s was previously a storage version, and must remain in spec.versions until a storage migration ensures no data remains persisted in %[1]s and removes %[1]s from status.storedVersions", v))) } return allErrs diff --git a/staging/src/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/validation/validation_test.go b/staging/src/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/validation/validation_test.go index 93f684ba529..dcc10ad79f8 100644 --- a/staging/src/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/validation/validation_test.go +++ b/staging/src/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/validation/validation_test.go @@ -11002,7 +11002,7 @@ func TestValidateCustomResourceDefinitionStoredVersions(t *testing.T) { storageVersion: "v1", storedVersions: []string{"v1alpha", "v1beta1", "v1"}, errors: []validationMatch{ - invalidIndex(0, "status", "storedVersions").contains("Invalid value: \"v1alpha\": must appear in spec.versions"), + invalidIndex(0, "status", "storedVersions").contains("Invalid value: \"v1alpha\": missing from spec.versions"), }, }, {