Skip to content

Feature Request: Support VolumeAttributeClass #1107

@y1r

Description

@y1r

Describe the solution you'd like

I would like Trident to support VolumeAttributesClass (VAC) to dynamically modify mutable parameters of PVCs. The feature is now generally available in Kubernetes.

Specifically, we want to control the QoS class of ONTAP volumes dynamically (e.g., switching between "gold" and "silver") without changing the StorageClass or migrating the volume.

Regarding the parameter design, we request support for specifying ONTAP QoS Policy Group names (e.g., qosPolicy: "gold") in the VAC, rather than raw IOPS values. This approach enables a Separation of Concerns: Storage Admins can tune the specific IOPS values centrally on ONTAP without requiring updates to Kubernetes objects, while Kubernetes Admins simply manage the Service Level intent ("Gold").

Describe alternatives you've considered

  • Using multiple StorageClasses
    • Leads to a combinatorial explosion of StorageClasses ({svm} x {accessMode} x {qos}).
    • Changing QoS requires data migration, which is disruptive and operationally expensive.
  • Updating QoS via storage backend CLI (out-of-band)
    • Configuration Drift: The change is hidden from Kubernetes, breaking GitOps workflows and complicating accounting.
    • Reduced Visibility: Operators cannot determine the actual volume state solely through Kubernetes APIs.

Additional context

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions