-
Notifications
You must be signed in to change notification settings - Fork 263
Description
Describe the bug
When a read-only clone volume is deleted on the same node as its source volume, the unpublish operation incorrectly removes export policy rules that are still needed by the source volume. This causes the source volume to lose NFS access with "Stale file handle" errors.
Root Cause
Read-only clones in the nas-economy (qtree) driver don't create new qtrees - they mount the source qtree's .snapshot directory. When a clone unpublishes:
- The orchestrator checks for remaining publications of only the clone volume
- Finds none (since the clone is being unpublished)
- Removes export policy rules for the node
- The source volume loses access because it shares the same export policy
Environment
- Trident version: 25.06.2
- NetApp backend types: ONTAP nas-economy (qtree) driver
- Storage class: nas-economy with autoExportPolicy enabled
- Other: Using read-only clones with
trident.netapp.io/readOnlyClone: "true"annotation
To Reproduce
Steps to reproduce the behavior:
- Create a source PVC using nas-economy storage class
- Create a pod mounting the source PVC on node A (pod continues running)
- Create a VolumeSnapshot from the source PVC
- Create a read-only clone PVC from the snapshot with annotation
trident.netapp.io/readOnlyClone: "true" - Create a pod mounting the clone PVC on the same node A
- Delete the clone pod
- Observe that the source pod loses NFS access with "ls: can't open '/data': Stale file handle" errors
A reproduction script is available here demonstrating this issue consistently.
Expected behavior
When a read-only clone is deleted, Trident should check for remaining publications of BOTH the clone and the source volume before removing export policy rules. The source volume should maintain NFS access.