Changes since v26.02.0
Trident
Fixes:
- Kubernetes: Fixed race conditions and state handling for concurrent publish/unpublish, clone, cache, and backend update operations.
- Kubernetes: Fixed export policy race conditions and concurrent publish/unpublish handling for subordinate volumes and read-only clones in ONTAP-NAS and ONTAP-NAS-Economy drivers.
- Kubernetes: Fixed ONTAP-NAS-Economy FlexVol discovery after MetroCluster failover when snapshot policies differ (Issue #1082).
- Kubernetes: Fixed ONTAP-NAS-Economy volume delete retries that interrupted long-running qtree deletes (Issue #1121).
- Kubernetes: Fixed ONTAP-SAN and ONTAP-SAN-Economy import and resize behavior, including
fsTypevalidation, volume metadata handling, and autogrow mode behavior. - Kubernetes: Fixed NVMe/TCP namespace race condition during concurrent volume creation (Issue #1089).
- Kubernetes: Improved stale node and multipath cleanup by removing ghost multipath artifacts and stale
TridentNoderesources after soft-deleted node cleanup. - Kubernetes: Fixed iSCSI resize failures when available paths and portals did not match, and improved repeated resize behavior.
- Kubernetes: Fixed ONTAP-SAN volume delete failures caused by
volume busyconditions. - Kubernetes: Fixed ONTAP REST error handling and improved SVM state timeout behavior.
- Kubernetes: Fixed GCNV SAN zonal pool and host-group handling, normalized volume identifier conversion, and normalized create requests below minimum size.
- Kubernetes: Fixed native GCNV capacity-pool selection to exclude ONTAP-mode pools.
- Kubernetes: Fixed KubeVirt failover for VMs with Trident Automated Workload Failover to speed up VM failover.
- Kubernetes: Fixed Operator-managed installation RBAC issues, including missing node ClusterRoles and incorrect ClusterRole/ClusterRoleBinding reconciliation during upgrades (applies to Operator and Helm-based installs via the Trident Operator chart).
- Kubernetes: Fixed persistent GitOps diffs on
TridentConfiguratorand related CRDs by omitting defaultpriorityvalues and correcting YAML template indentation (Issues #915, #1120). - Kubernetes: Fixed patching of
TridentVolumePublicationCRDs during Helm upgrade (Issue #1151). - Kubernetes: Fixed CSI startup ordering by starting CSI gRPC before node registration retries.
- Kubernetes: Fixed secure SMB clone configuration overlays during concurrent operations.
- Kubernetes: Fixed the issue of missing annotations in Trident controller pod after upgrade (Issue #1004).
- Kubernetes: Improved slow Qtree provisioning on large SVMs (Issue #1142).
- Kubernetes: Fixed ControllerPublish to use volume config file system type to avoid using incorrect default file system type.
- Kubernetes: Fixed an issue where orphan dm devices might cause repeated CSI NodeUnstageVolume failures.
Enhancements:
- Kubernetes: Added support for Kubernetes 1.36.
- Kubernetes: Concurrency support is now generally available (GA) for ONTAP-NAS-Economy, ONTAP-SAN-Economy, both graduated from Tech Preview, and for ANF and SolidFire drivers.
- Added ability to use Unified ONTAP balanced placement for optimal aggregate selection when provisioning new volumes (Issue #64).
- Kubernetes: Added support for ONTAP-SAN iSCSI intra-cluster volume move.
- Kubernetes: Added ONTAP AFX support for ONTAP-NAS-Flexgroup driver.
- Kubernetes: Added integration with NetApp Shift Toolkit to simplify virtual machine migrations when using Red Hat OpenShift Migration Toolkit for Virtualization.
- Kubernetes: Autogrow support for GCNV drivers (NAS and SAN) is now generally available (GA).
- Kubernetes: Trident containers' root filesystems are now mounted as read-only.
- Kubernetes: Added Cloud Identity support for the GCNV SAN driver.
- Kubernetes: Added subordinate volume support for Trident Volume Publication (TVP) propagation and autogrow workflows.
- Kubernetes: Added dynamic GCNV gRPC rate limiting.
- Kubernetes: Added controller readiness exec probe and tuned default Kubernetes API QPS/Burst settings for controller and sidecars.
- Kubernetes: Improved node operation sequencing by decoupling attach, encryption setup, and filesystem formatting steps.
- Kubernetes: Added support for volume updates and volume group snapshots when running Trident with concurrency enabled.
- Enhanced AWS ARN handling to support special regions.
- Added a best-effort snapshot removal for clone volume snapshots in ONTAP backends when the source snapshot of clone volumes is deleted.
- Kubernetes: Added backup clone PVC recognition to keep temporary PVCs for backups created by Veeam Kasten, Trilio, and Cohesity from getting stuck in the ONTAP Volume Recovery Queue.
- Kubernetes: Prevent shrinking of Flexvols during resize operation for the ONTAP-SAN-ECONOMY driver.
Experimental Enhancements:
NOTE: Not for use in production environments.
- [Tech Preview] Added support for ONTAP-NAS-Economy qtree import.
- Kubernetes: [Tech Preview] Added GCNV ONTAP-mode HTTP transport for ONTAP SAN and NAS drivers.
- Kubernetes: [Tech Preview] Added support for concurrency for ASA-R2 (SAN and NVMe) drivers.
Trident Protect
Fixes:
- Fixed cross-cluster VM restore failing with a webhook error (
vrestore-creationdenied: VM namespace not found) when the source namespace does not exist on the target cluster. - Fixed selective VM in-place restore failing at
CreateApplicationdue to a spec mismatch on an existingApplication; the Application is now reused. - Fixed the IPR job hanging in
Runningwhen both the VM and its PVC are deleted; a deleted PVC during IPR is now treated as a fatal error. - Fixed an immediate backup/snapshot being triggered when editing an existing schedule by correcting the scheduled timestamp for overdue runs.
- Fixed the Snapshot finalizer attempting to fetch the
ApplicationCR even after it was deleted; it now skips when the Application is not found. - Fixed protected capacity increasing drastically after IPR by using the
trident-protect-utilspvc-copy image with sparse copy (cp --sparse). - Fixed Trident Protect deleting the Kubernetes snapshot object without confirming ONTAP deletion; the finalizer now waits for
VolumeSnapshotdeletion. - Fixed snapshots not continuing when a VM freeze fails; freeze/unfreeze now continues on failure.
- Fixed KubeVirt VM apps recreating PVCs during AMR reverse / reverse-resync / resync operations.
Enhancements:
- Made the temp-volume
splitOnCloneannotation configurable for Kopia backups. - Added StorageClass mapping support to the Neptune CLI.
- Added
includedVirtualMachinessupport for Restore CRs inprotectctl. - Added a
SkipApplicationCreationfield on Restore and implemented conditionalApplicationCR creation. - Added StorageClass mapping to AppMirrorRelationship (AMR).
- Propagated all Job pod statuses and events to their parent CRs.
- Added resource transformations support to all Restore CRs.
- Surfaced resource-restore failure messages from the pod into the Restore CR status.
- Volume import now uses the source request size (to be reverted once fixed upstream).