kubernetes-csi / external-resizer

Sidecar container that watches Kubernetes PersistentVolumeClaims objects and triggers controller side expansion operation against a CSI endpoint
Apache License 2.0
120 stars 122 forks source link

resize pvc with static pv ends up with panic runtime error #316

Closed gaord closed 1 year ago

gaord commented 1 year ago

resizing static pv ends up with invalid memory address and failed. it is csi-resizer:v1.5.0. It is expected to work with both with static and dynamic provisioned pv.

csi-resizer logs:

E0719 05:34:00.358056 1 controller.go:286] Error syncing PVC: resize volume "pv-static-doxygen" by resizer "rook-ceph.rbd.csi.ceph.com" failed: rpc error: code = Internal desc = panic runtime error: invalid memory address or nil pointer dereference I0719 05:34:00.358211 1 event.go:285] Event(v1.ObjectReference{Kind:"PersistentVolumeClaim", Namespace:"default", Name:"doxygen-claim", UID:"632f5022-31e1-4f24-b2d7-21ed6923dd4c", APIVersion:"v1", ResourceVersion:"63861817", FieldPath:""}): type: 'Warning' reason: 'VolumeResizeFailed' resize volume "pv-static-doxygen" by resizer "rook-ceph.rbd.csi.ceph.com" failed: rpc error: code = Internal desc = panic runtime error: invalid memory address or nil pointer dereference

static pv is here:

apiVersion: v1 kind: PersistentVolume metadata: annotations: pv.kubernetes.io/bound-by-controller: "yes" creationTimestamp: "2023-03-14T15:18:32Z" finalizers:

gaord commented 1 year ago

it turns out that, VolumeHandle should take form of clusterID-poolID-volumeuniqueID. I this case, it look like '0001-0009-rook-ceph-0000000000000002-ce51f1d0-6b28-11ed-8b74-a2ae9ec8a708'. Anyway, an informative error message will be better?

Madhu-1 commented 1 year ago

@gaord as the issue might exist in cephcsi, which is the storage you are using, https://github.com/ceph/ceph-csi/issues might be the best place for this issue.