Dynamic provisioning of a snapshot

Last published : Jul 06, 2026
To perform Dynamic provisioning of a snapshot:
  1. Define the VolumeSnapshotClass object using the yaml and specify the deletionPolicy and snapType.
    csi-infoscale-snapclass.yaml
    ---
    apiVersion: snapshot.storage.k8s.io/v1beta1
    kind: VolumeSnapshotClass
    metadata:
      name: csi-infoscale-snapclass
      annotations:
        snapshot.storage.kubernetes.io/is-default-class: "true"
    driver: org.veritas.infoscale
    deletionPolicy: Delete
    \#parameters:
      \# (optional) Specifies the type of the snapshot to be created.
      \# If omitted,  by default creates space-optimized snapshot.
      \# Supported values: space-optimized, full-instant
      \# snapType: space-optimized

      \# (optional) Specifies the size of the cache volume
        to be created for space-optimized snapshots.
      \# If omitted, InfoScale internally chooses the
        cacheSize as 30% of orignial volume size.
      \# cacheSize: 500m
    1. Create Volume Snapshot Class:
    oc create -f csi-infoscale-snapclass.yaml
  2. Define the Volume Snapshot.
    csi-dynamic-snapshot.yaml
    ---
    apiVersion: snapshot.storage.k8s.io/v1beta1
    kind: VolumeSnapshot
    metadata:
      name: csi-dynamic-snapshot
    spec:
      volumeSnapshotClassName: csi-infoscale-snapclass
      source:
        persistentVolumeClaimName: csi-infoscale-pvc
    1. Create Volume Snapshot:
    oc create -f csi-dynamic-snapshot.yaml
  3. On successful creation of a snapshot, the corresponding volume snapshot content is created and bound to the volume Snapshot object.