Skip to content

Snapshots of PVCs fails on the tenant cluster PVCs #176

Description

@skakram

While attempting to create a Snapshot of a PVC provisioned in the Tenant cluster it immediately Errors out

VolumeSnapshot Class (Removed managedfields for brevity)

apiVersion: snapshot.storage.k8s.io/v1
deletionPolicy: Delete
driver: csi.kubevirt.io
kind: VolumeSnapshotClass
metadata:
  annotations:
    kubectl.kubernetes.io/last-applied-configuration: |      {"apiVersion":"snapshot.storage.k8s.io/v1","deletionPolicy":"Delete","driver":"csi.kubevirt.io","kind":"VolumeSnapshotClass","metadata":{"annotations":{},"labels":{"app":"kubevirt-csi-driver"},"name":"kubevirt-csi-snapclass"}}
  creationTimestamp: '2026-02-09T12:12:41Z'
  generation: 1
  labels:
    app: kubevirt-csi-driver
  name: kubevirt-csi-snapclass

I have the Snapshot class mapping in the driver-config config map

data:
  infraClusterLabels: csi-driver/cluster=tenant
  infraClusterNamespace: ocp-nested
  infraStorageClassEnforcement: |
    allowAll: false
    allowDefault: true
    allowList: [sc-gold-dc1, sc-gold-dc2]
    storageSnapshotMapping: 
      - StorageClasses:
        - sc-gold-dc1
        VolumeSnapshotClasses:
        - snapshotclass-gold-dc1
      - StorageClasses:
        - sc-gold-dc2
        VolumeSnapshotClasses:
        - snapshotclass-gold-dc2

Is there something missing inorder to have snapshots configured. I have the corresponding snapshotclass on the infra cluster snapshotclass-gold-dc1 and snapshotclass-gold-dc2 which work fine

Error in the csi-snapshotter pod logs

E0212 14:10:55.062550 1 snapshot_controller.go:124] checkandUpdateContentStatus [snapcontent-861f45e1-bf89-4964-9162-5752c5cf5df6]: error occurred failed to add VolumeSnapshotBeingCreated annotation on the content snapcontent-861f45e1-bf89-4964-9162-5752c5cf5df6: "snapshot controller failed to update snapcontent-861f45e1-bf89-4964-9162-5752c5cf5df6 on API server: VolumeSnapshotContent.snapshot.storage.k8s.io \"snapcontent-861f45e1-bf89-4964-9162-5752c5cf5df6\" is invalid: spec: Invalid value: \"object\": sourceVolumeMode is required once set"
E0212 14:10:55.062589 1 snapshot_controller_base.go:265] could not sync content "snapcontent-861f45e1-bf89-4964-9162-5752c5cf5df6": failed to add VolumeSnapshotBeingCreated annotation on the content snapcontent-861f45e1-bf89-4964-9162-5752c5cf5df6: "snapshot controller failed to update snapcontent-861f45e1-bf89-4964-9162-5752c5cf5df6 on API server: VolumeSnapshotContent.snapshot.storage.k8s.io \"snapcontent-861f45e1-bf89-4964-9162-5752c5cf5df6\" is invalid: spec: Invalid value: \"object\": sourceVolumeMode is required once set"

Environment :

Tenant Cluster : OpenShift version 4.20
Infra cluster : OpenShift Version 4.18

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

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions