Release Notes

Contributors juliantap RSS

Release Notes provide information about new features, enhancements, and bug fixes in the latest version of Astra Trident.

Warning The tridentctl binary for Linux that is provided in the installer zip file is the tested and supported version. Be aware that the macos binary provided in the /extras part of the zip file is not tested or supported.

What’s new in 22.10

You must read the following critical information before upgrading to Astra Trident 22.10.

Warning
Critical information about Astra Trident 22.10
  • Kubernetes 1.25 is now supported in Trident. You must upgrade Astra Trident to 22.10 prior to upgrading to Kubernetes 1.25.

  • Astra Trident now strictly enforces the use of multipathing configuration in SAN environments, with a recommended value of find_multipaths: no in multipath.conf file.

    Use of non-multipathing configuration or use of find_multipaths: yes or find_multipaths: smart value in multipath.conf file will result in mount failures. Trident has recommended the use of find_multipaths: no since the 21.07 release.

Fixes

  • Fixed issue specific to ONTAP backend created using credentials field failing to come online during 22.07.0 upgrade (Issue #759).

  • Docker: Fixed an issue causing the Docker volume plugin to fail to start in some environments (Issue #548 and Issue #760).

  • Fixed SLM issue specific to ONTAP SAN backends to ensure only subset of data LIFs belonging to reporting nodes are published.

  • Fixed performance issue where unnecessary scans for iSCSI LUNs happened when attaching a volume.

  • Removed granular retries within the Astra Trident iSCSI workflow to fail fast and reduce external retry intervals.

  • Fixed issue where an error was returned when flushing an iSCSI device when the corresponding multipath device was already flushed.

Enhancements

  • Kubernetes:

    • Added support for Kubernetes 1.25. You must upgrade Astra Trident to 22.10 prior to upgrading to Kubernetes 1.25.

    • Added a separate ServiceAccount, ClusterRole, and ClusterRoleBinding for the Trident Deployment and DaemonSet to allow future permissions enhancements.

    • Added support for cross-namespace volume sharing.

  • All Trident ontap-* storage drivers now work with the ONTAP REST API.

  • Added new operator yaml (bundle_post_1_25.yaml) without a PodSecurityPolicy to support Kubernetes 1.25.

  • Added support for LUKS-encrypted volumes for ontap-san and ontap-san-economy storage drivers.

  • Added support for Windows Server 2019 nodes.

  • Added support for SMB volumes on Windows nodes through the azure-netapp-files storage driver.

  • Automatic MetroCluster switchover detection for ONTAP drivers is now generally available.

Deprecations

  • Kubernetes: Updated minimum supported Kubernetes to 1.20.

  • Removed Astra Data Store (ADS) driver.

  • Removed support for yes and smart options for find_multipaths when configuring worker node multipathing for iSCSI.

Changes in 22.07

Fixes

Kubernetes

  • Fixed issue to handle boolean and number values for node selector when configuring Trident with Helm or the Trident Operator. (GitHub issue #700)

  • Fixed issue in handling errors from non-CHAP path, so that kubelet will retry if it fails. GitHub issue #736)

Enhancements

  • Transition from k8s.gcr.io to registry.k8s.io as default registry for CSI images

  • ONTAP-SAN volumes will now use per-node igroups and only map LUNs to igroups while actively published to those nodes to improve our security posture. Existing volumes will be opportunistically switched to the new igroup scheme when Trident determines it is safe to do so without impacting active workloads.

  • Included a ResourceQuota with Trident installations to ensure Trident DaemonSet is scheduled when PriorityClass consumption is limited by default.

  • Added support for Network Features to ANF driver. (GitHub issue #717)

  • Added tech preview automatic MetroCluster switchover detection to ONTAP drivers. (GitHub issue #228)

Deprecations

  • Kubernetes: Updated minimum supported Kubernetes to 1.19.

  • Backend config no longer allows multiple authentication types in single config.

Removals

  • AWS CVS driver (deprecated since 22.04) has been removed.

  • Kubernetes

    • Removed unnecessary SYS_ADMIN capability from node pods.

    • Reduces nodeprep down to simple host info and active service discovery to do a best-effort
      confirmation that NFS/iSCSI services are available on worker nodes.

Documentation

A new Pod Security Standards (PSS) section has been added detailing permissions enabled by Astra Trident on installation.

Changes in 22.04

NetApp is continually improving and enhancing its products and services. Here are some of the latest features in Astra Trident. For previous releases, see Earlier versions of documentation.

Important If you are upgrading from any previous Trident release and use Azure NetApp Files, the location config parameter is now a mandatory, singleton field.

Fixes

  • Improved parsing of iSCSI initiator names. (GitHub issue #681)

  • Fixed issue where CSI storage class parameters weren’t allowed. (GitHub issue #598)

  • Fixed duplicate key declaration in Trident CRD. (GitHub issue #671)

  • Fixed inaccurate CSI Snapshot logs. (GitHub issue #629))

  • Fixed issue with unpublishing volumes on deleted nodes. (GitHub issue #691)

  • Added handling of filesystem inconsistencies on block devices. (GitHub issue #656)

  • Fixed issue pulling auto-support images when setting the imageRegistry flag during installation. (GitHub issue #715)

  • Fixed issue where ANF driver failed to clone a volume with multiple export rules.

Enhancements

  • Inbound connections to Trident’s secure endpoints now require a minimum of TLS 1.3. (GitHub issue #698)

  • Trident now adds HSTS headers to responses from its secure endpoints.

  • Trident now attempts to enable the Azure NetApp Files unix permissions feature automatically.

  • Kubernetes: Trident daemonset now runs at system-node-critical priority class. (GitHub issue #694)

Removals

E-Series driver (disabled since 20.07) has been removed.

Changes in 22.01.1

Fixes

  • Fixed issue with unpublishing volumes on deleted nodes. (GitHub issue #691)

  • Fixed panic when accessing nil fields for aggregate space in ONTAP API responses.

Changes in 22.01.0

Fixes

  • Kubernetes: Increase node registration backoff retry time for large clusters.

  • Fixed issue where azure-netapp-files driver could be confused by multiple resources with the same name.

  • ONTAP SAN IPv6 Data LIFs now work if specified with brackets.

  • Fixed issue where attempting to import an already imported volume returns EOF leaving PVC in pending state. (GitHub issue #489)

  • Fixed issue when Astra Trident performance slows down when > 32 snapshots are created on a SolidFire volume.

  • Replaced SHA-1 with SHA-256 in SSL certificate creation.

  • Fixed ANF driver to allow duplicate resource names and limit operations to a single location.

  • Fixed ANF driver to allow duplicate resource names and limit operations to a single location.

Enhancements

  • Kubernetes enhancements:

    • Added support for Kubernetes 1.23.

    • Add scheduling options for Trident pods when installed via Trident Operator or Helm. (GitHub issue #651)

  • Allow cross-region volumes in GCP driver. (GitHub issue #633)

  • Added support for 'unixPermissions' option to ANF volumes. (GitHub issue #666)

Deprecations

Trident REST interface can listen and serve only at 127.0.0.1 or [::1] addresses

Changes in 21.10.1

Warning The v21.10.0 release has an issue that can put the Trident controller into a CrashLoopBackOff state when a node is removed and then added back to the Kubernetes cluster. This issue is fixed in v21.10.1 (GitHub issue 669).

Fixes

  • Fixed potential race condition when importing a volume on a GCP CVS backend resulting in failure to import.

  • Fixed an issue that can put the Trident controller into a CrashLoopBackOff state when a node is removed and then added back to the Kubernetes cluster (GitHub issue 669).

  • Fixed issue where SVMs were no longer discovered if no SVM name was specified (GitHub issue 612).

Changes in 21.10.0

Fixes

  • Fixed issue where clones of XFS volumes could not be mounted on the same node as the source volume (GitHub issue 514).

  • Fixed issue where Astra Trident logged a fatal error on shutdown (GitHub issue 597).

  • Kubernetes-related fixes:

    • Return a volume’s used space as the minimum restoreSize when creating snapshots with ontap-nas and ontap-nas-flexgroup drivers (GitHub issue 645).

    • Fixed issue where Failed to expand filesystem error was logged after volume resize (GitHub issue 560).

    • Fixed issue where a pod could get stuck in Terminating state (GitHub issue 572).

    • Fixed the case where an ontap-san-economy FlexVol might be full of snapshot LUNs (GitHub issue 533).

    • Fixed custom YAML installer issue with different image (GitHub issue 613).

    • Fixed snapshot size calculation (GitHub issue 611).

    • Fixed issue where all Astra Trident installers could identify plain Kubernetes as OpenShift (GitHub issue 639).

    • Fixed the Trident operator to stop reconciliation if the Kubernetes API server is unreachable (GitHub issue 599).

Enhancements

  • Added support for unixPermissions option to GCP-CVS Performance volumes.

  • Added support for scale-optimized CVS volumes in GCP in the range 600 GiB to 1 TiB.

  • Kubernetes-related enhancements:

    • Added support for Kubernetes 1.22.

    • Enabled the Trident operator and Helm chart to work with Kubernetes 1.22 (GitHub issue 628).

    • Added operator image to tridentctl images command (GitHub issue 570).

Experimental enhancements

  • Added support for volume replication in the ontap-san driver.

  • Added tech preview REST support for the ontap-nas-flexgroup, ontap-san, and ontap-nas-economy drivers.

Known issues

Known issues identify problems that might prevent you from using the product successfully.

  • Astra Trident now enforces a blank fsType (fsType="") for volumes that do not have the fsType specified in their StorageClass. When working with Kubernetes 1.17 or later, Trident supports providing a blank fsType for NFS volumes. For iSCSI volumes, you are required to set the fsType on your StorageClass when enforcing an fsGroup using a Security Context.

  • When using a backend across multiple Astra Trident instances, each backend configuration file should have a different storagePrefix value for ONTAP backends or use a different TenantName for SolidFire backends. Astra Trident cannot detect volumes that other instances of Astra Trident have created. Attempting to create an existing volume on either ONTAP or SolidFire backends succeeds, because Astra Trident treats volume creation as an idempotent operation. If storagePrefix or TenantName do not differ, there might be name collisions for volumes created on the same backend.

  • When installing Astra Trident (using tridentctl or the Trident Operator) and using tridentctl to manage Astra Trident, you should ensure the KUBECONFIG environment variable is set. This is necessary to indicate the Kubernetes cluster that tridentctl should work against. When working with multiple Kubernetes environments, you should ensure that the KUBECONFIG file is sourced accurately.

  • To perform online space reclamation for iSCSI PVs, the underlying OS on the worker node might require mount options to be passed to the volume. This is true for RHEL/RedHat CoreOS instances, which require the discard mount option; ensure that the discard mountOption is included in your StorageClass to support online block discard.

  • If you have more than one instance of Astra Trident per Kubernetes cluster, Astra Trident cannot communicate with other instances and cannot discover other volumes that they have created, which leads to unexpected and incorrect behavior if more than one instance runs within a cluster. There should be only one instance of Astra Trident per Kubernetes cluster.

  • If Astra Trident-based StorageClass objects are deleted from Kubernetes while Astra Trident is offline, Astra Trident does not remove the corresponding storage classes from its database when it comes back online. You should delete these storage classes using tridentctl or the REST API.

  • If a user deletes a PV provisioned by Astra Trident before deleting the corresponding PVC, Astra Trident does not automatically delete the backing volume. You should remove the volume via tridentctl or the REST API.

  • ONTAP cannot concurrently provision more than one FlexGroup at a time unless the set of aggregates are unique to each provisioning request.

  • When using Astra Trident over IPv6, you should specify managementLIF and dataLIF in the backend definition within square brackets. For example, [fd20:8b1e:b258:2000:f816:3eff:feec:0].

  • If using the solidfire-san driver with OpenShift 4.5, ensure that the underlying worker nodes use MD5 as the CHAP authentication algorithm.