-
Notifications
You must be signed in to change notification settings - Fork 245
Description
Describe the solution you'd like
We are currently unable to export or copy data between PVCs when the source and destination use incompatible volumeMode settings—specifically, from Filesystem PVCs to Block-only storage targets. An example of this scenario is attempting to export data from a Filesystem-based PVC to a SAN-based Block storage class.
This fails during clone provisioning from a snapshot with the following errors:
failed to provision volume with StorageClass "san": error getting handle for DataSource Type VolumeSnapshot by Name <>: requested volume x modifies the mode of the source volume but does not have permission to do so. [snapshot.storage.kubernetes.io/allow-volume-mode-change](http://snapshot.storage.kubernetes.io/allow-volume-mode-change) annotation is not present on snapshotcontent snapcontent-x
and
"ProvisioningFailed" message="failed to provision volume with StorageClass \"san\": rpc error: code = NotFound desc = source volume's volume-mode (Filesystem) is incompatible with requested clone's volume-mode (Block)"
Describe alternatives you've considered
We’d like to see support added for these types of cross-VolumeMode restores or exports, potentially by allowing snapshots to include the appropriate annotation (snapshot.storage.kubernetes.io/allow-volume-mode-change) or through some other supported mechanism.
Additional context
This limitation is impacting many of our mutual customers who use storage platforms that are locked into either File or Block modes (e.g., SAN-only or NAS-only environments). A solution here would improve flexibility and support hybrid storage environments where cross-mode data movement is a common operational requirement.