Skip to content

CRD updates to volumegroupsnapshots cannot be updated #1307

@evilhamsterman

Description

@evilhamsterman

What happened:

CRD version change to volumegroupsnapshots and related causes updates to the CRD to fail

kubectl appy --server-side -k external-snapshotter/client/config/crd/
customresourcedefinition.apiextensions.k8s.io/volumesnapshotclasses.snapshot.storage.k8s.io serverside-applied
customresourcedefinition.apiextensions.k8s.io/volumesnapshotcontents.snapshot.storage.k8s.io serverside-applied
customresourcedefinition.apiextensions.k8s.io/volumesnapshots.snapshot.storage.k8s.io serverside-applied
Error from server (Invalid): CustomResourceDefinition.apiextensions.k8s.io "volumegroupsnapshotclasses.groupsnapshot.storage.k8s.io" is invalid: status.storedVersions[0]: Invalid value: "v1alpha1": must appear in spec.versions
Error from server (Invalid): CustomResourceDefinition.apiextensions.k8s.io "volumegroupsnapshotcontents.groupsnapshot.storage.k8s.io" is invalid: status.storedVersions[0]: Invalid value: "v1alpha1": must appear in spec.versions
Error from server (Invalid): CustomResourceDefinition.apiextensions.k8s.io "volumegroupsnapshots.groupsnapshot.storage.k8s.io" is invalid: status.storedVersions[0]: Invalid value: "v1alpha1": must appear in spec.versions

What you expected to happen:

CRD updates to succeed

How to reproduce it:

Deploy CRDs from tag 8.1.1 and then try to update to 8.2.x

Anything else we need to know?:

According to the Kubernetes documentation you cannot simply remove a version you must have a period of time where you have both versions to allow for migration of objects. https://kubernetes.io/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definition-versioning/

Environment:

  • Driver version: 8.2.1
  • Kubernetes version (use kubectl version): 1.32
  • OS (e.g. from /etc/os-release): Ubuntu
  • Kernel (e.g. uname -a):
  • Install tools:
  • Others:

Metadata

Metadata

Assignees

No one assigned

    Labels

    lifecycle/rottenDenotes an issue or PR that has aged beyond stale and will be auto-closed.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions