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/staleDenotes an issue or PR has remained open with no activity and has become stale.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions