ONTAP Discussions

Trident config with QoS

RakutenStorage
1,210 Views

Hi All,

We are currently perform NetApp trident PoC and facing challanges to apply the QoS into the PV volume below are my Trident config .

 

# ./tridentctl get backend -n trident

+------------------------+----------------+--------------------------------------+--------+------------+---------+

|          NAME          | STORAGE DRIVER |                 UUID                 | STATE  | USER-STATE | VOLUMES |

+------------------------+----------------+--------------------------------------+--------+------------+---------+

| ontapnas_100.104.5.206 | ontap-nas      | 18088a47-d344-47ab-9901-73256bbd5866 | online | normal     |       1 |

+------------------------+----------------+--------------------------------------+--------+------------+---------+

 

PROD  root@syssmgtridentpoc01  [17:03:31] [/opt/trident/trident-installer] (12:0)

# ./tridentctl -n trident version

+----------------+----------------+

| SERVER VERSION | CLIENT VERSION |

+----------------+----------------+

| 25.06.0        | 25.06.0        |

+----------------+----------------+


 

I am able to create the PV volume below is the logs.

# ./tridentctl get volume -n trident

+------------------------------------------+--------+---------------+----------+--------------------------------------+-------+---------+

|                   NAME                   |  SIZE  | STORAGE CLASS | PROTOCOL |             BACKEND UUID             | STATE | MANAGED |

+------------------------------------------+--------+---------------+----------+--------------------------------------+-------+---------+

| pvc-c1be1751-ae0c-4c42-9e12-50b5dc025355 | 10 GiB | trident-nfs   | file     | 18088a47-d344-47ab-9901-73256bbd5866 |       | true    |

+------------------------------------------+--------+---------------+----------+--------------------------------------+-------+---------+

 

PROD  root@syssmgtridentpoc01  [17:05:22] [/opt/trident/trident-installer] (14:0)

#

But when I am trying to create a new PV volume having QoS applied getting the below error .
Below are my storageclass and PVC yaml file

 

# cat storageclass_qos.yaml

apiVersion: storage.k8s.io/v1

kind: StorageClass

metadata:

  name: trident-nfs-qos

provisioner: csi.trident.netapp.io

parameters:

  backendType: "ontap-nas"

  qosPolicy: "qos_policy"     

 

 

PROD  root@syssmgtridentpoc01  [17:03:01] [/opt/trident/trident-installer] (10:0)

# cat pvc_qos.yaml

apiVersion: v1

kind: PersistentVolumeClaim

metadata:

  name: trident-pvc-qos

  namespace: default

spec:

  accessModes:

    - ReadWriteMany

  resources:

    requests:

      storage: 10Gi

  storageClassName: trident-nfs-qos

Error Log of the failed PVC

 

PROD  root@syssmgtridentpoc01  [17:03:06] [/opt/trident/trident-installer] (11:0)

#

# kubectl describe pvc trident-pvc-qos

Name:          trident-pvc-qos

Namespace:     default

StorageClass:  trident-nfs-qos

Status:        Pending

Volume:        

Labels:        <none>

Annotations:   volume.beta.kubernetes.io/storage-provisioner: csi.trident.netapp.io

               volume.kubernetes.io/storage-provisioner: csi.trident.netapp.io

Finalizers:    [kubernetes.io/pvc-protection]

Capacity:      

Access Modes: 

VolumeMode:    Filesystem

Used By:       <none>

Events:

  Type     Reason                Age               From                                                                                          Message

  ----     ------                ----              ----                                                                                          -------

  Normal   Provisioning          2s (x3 over 26s)  csi.trident.netapp.io_trident-controller-6594747b-plxsl_f4c31814-778c-4041-808a-6df36d0869d2  External provisioner is provisioning volume for claim "default/trident-pvc-qos"

  Warning  ProvisioningFailed    2s (x3 over 26s)  csi.trident.netapp.io_trident-controller-6594747b-plxsl_f4c31814-778c-4041-808a-6df36d0869d2  failed to provision volume with StorageClass "trident-nfs-qos": rpc error: code = Unknown desc = unknown storage class: trident-nfs-qos

  Normal   ExternalProvisioning  0s (x3 over 26s)  persistentvolume-controller                                                                   Waiting for a volume to be created either by the external provisioner 'csi.trident.netapp.io' or manually by the system administrator. If volume creation is delayed, please verify that the provisioner is running and correctly registered.


Verified on Net App side QoS policy is exist .

nlab-100-nas::> qos policy-group show

Name             Vserver     Class        Wklds Throughput   Is Shared

---------------- ----------- ------------ ----- ------------ ---------

extreme-fixed    nlab-100-nas

                             user-defined 0     0-50000IOPS,1.53GB/s

                                                             false

performance-fixed

                 nlab-100-nas

                             user-defined 0     0-30000IOPS,937.5MB/s

                                                             false

qos_policy       N1_svm01    user-defined 0     5IOPS-10IOPS true

value-fixed      nlab-100-nas

                             user-defined 1     0-15000IOPS,468.8MB/s

                                                             false

4 entries were displayed.

 

nlab-100-nas::>








1 REPLY 1

vittal
27 Views

From   warning message

 

"Warning ProvisioningFailed 2s (x3 over 26s) csi.trident.netapp.io_trident-controller-6594747b-plxsl_f4c31814-778c-4041-808a-6df36d0869d2 failed to provision volume with StorageClass "trident-nfs-qos": rpc error: code = Unknown desc = unknown storage class: trident-nfs-qos"

 

It looks like you're experiencing an issue with provisioning a Persistent Volume (PV) using Trident in Kubernetes.
The error message indicates that the storage class trident-nfs-qos is not recognized, which is causing the provisioning to fail.

 

Here are some steps you can take to troubleshoot this issue:

Verify the StorageClass: Ensure that the StorageClass trident-nfs-qos exists and is correctly defined.

Command :"kubectl get storageclass trident-nfs-qos"

 

Ensure that the Trident controller is running and properly configured. You can check the status of the Trident pods by running:
kubectl get pods -n trident

 

Check the logs of the Trident controller pod for more detailed error messages.

"kubectl logs -n trident trident-controller-6594747b-plxsl"

 

Check Storage Backend: Ensure that the storage backend is correctly configured and accessible.
Verify that the backend configuration file is correctly set up and that Trident can communicate with the storage system.

Review StorageClass Definition: Double-check the definition of the trident-nfs-qos StorageClass.
Make sure it is correctly configured and that all required parameters are specified.

kubectl apply -f <path-to-storageclass-yaml>

 

Public