Invalid parameter Error in azure disk csi driver

Solution Verified - Updated -

Environment

  • Azure Red Hat OpenShift 4 (ARO)

Issue

  • Below error happens when set up subscriptionID , and , resourceGroup in yaml file of
    Azure Disk CSI driver(disk.csi.azure.com) storage class.
failed to provision volume with StorageClass "managed-csi3": rpc error: code = Unknown desc = invalid parameter subscriptionID in storage class

failed to provision volume with StorageClass "managed-csi3": rpc error: code = Unknown desc = invalid parameter resourceGroup in storage class

Resolution

  • Invalid parameter means CSI driver did not recognize related subscriptionID and resourceGroup parameter.
    • It needs to use lower case for that parameter to work.
      For example, resourcegroup and subscriptionid should be used instead of subscriptionID and resourceGroup
    • resourcegroup parameter is available on >= 4.10.23 version while both parameters are available on >= 4.11 version

Root Cause

  • The disk.csi.azure.com storage class related parameter resourcegroup and subscriptionid is setting in lower case based on Code.

Diagnostic Steps

  • Create a storage class with the setting subscriptionID and resourceGroup
kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
  name: managed-csi3
provisioner: disk.csi.azure.com
parameters:
  skuname: Premium_LRS
  resourceGroup: xxxxxxx
  subscriptionID: xxxxxxxxxxxxxxx
reclaimPolicy: Delete
allowVolumeExpansion: true
volumeBindingMode: WaitForFirstConsumer
  • Create a PVC using storage class created in 2)
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: test2
  namespace: default
spec:
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 10Mi
  storageClassName: managed-csi3
  volumeMode: Filesystem
  • Create a POD for testing
apiVersion: v1
kind: Pod
metadata:
  labels:
    run: centos
  name: centos-test-nfs2
  namespace: default
spec:
  containers:
  - image: centos
    name: centos
    resources: {}
    command: ["sleep", "3600"]
    volumeMounts:
      - mountPath: /nfs
        name: nfs-vol
  volumes:
    - name: nfs-vol
      persistentVolumeClaim:
        claimName: test2
  • It will throw error in PVC as below
failed to provision volume with StorageClass "managed-csi3": rpc error: code = Unknown desc = invalid parameter subscriptionID in storage class

or

failed to provision volume with StorageClass "managed-csi3": rpc error: code = Unknown desc = invalid parameter resourceGroup in storage class

This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.

Comments