Vsphere CSI migration

Hi there,

I would like some help. I migrate my cluster from 1.20 to 1.25.
Here is the details :

Cluster information:

Kubernetes version: 1.25.11
Cloud being used: bare-metal
Installation method: kubeadm
Host OS: RHEL 9.2
CNI and version: Calico 3.25
CRI and version: containerd 1.6.21

I have 3 CP and 3 Workers. All are VMs on ESXi (v8.0.0). I’m using Vsphere for management (v8.0.0).

At first (k8s 1.20), I configured the cluster to use vsphere volume. Everything was working as expected.
With the migration to 1.25, I discovered the new CSI migration. One of my deployments use two PVC (vsphere volume) and is now stuck because the PVC won’t attach.

I followed the step by step tutorail here : Preparing for Installation of vSphere Container Storage Plug-in

All pods from vmware-system-csi namespace are running but in the logs I see errors like this :
Error processing “csi-116d4280341c1403c829d1f390763be7c69384aa80a0ba7e3bd4144d1d9139ad”: failed to detach: rpc error: code = Internal desc = failed to get VolumeID from volumeMigrationService for volumePath: “[ESX1-datastore] kubevols/kubernetes-dynamic-pvc-74f53813-c4e1-4613-9db0-08211a7bf9ec.vmdk”

All my VMs has the UUID enabled and one SCSI controller “VMware Paravirtual”

Can you help me ?

Here is the csi-vsphere.conf file for the secret.

user = "administrator@vsphere.local"
password = "XXXXX"
port = "443"
insecure-flag = "1"

[VirtualCenter ""]
datacenters = "mlr-lab"

server = ""
datacenter = "mlr-lab"
default-datastore = "ESX1-datastore"
resourcepool-path = "mlr-lab/Resources"
folder = "PVC-K8S"

scsicontrollertype = pvscsi

public-network = "LAN Network"

The storage class :

kind: StorageClass
apiVersion: storage.k8s.io/v1
  name: example-vanilla-file-sc
    storageclass.kubernetes.io/is-default-class: 'false'
provisioner: csi.vsphere.vmware.com
  datastore: ESX1-datastore
  diskformat: thin
  fstype: xfs
reclaimPolicy: Delete
volumeBindingMode: Immediate

And a sample PVC :

kind: PersistentVolumeClaim
apiVersion: v1
  name: calibre-pv-config-claim
    app: calibre
    pv.kubernetes.io/bound-by-controller: 'yes'
    volume.beta.kubernetes.io/storage-provisioner: csi.vsphere.vmware.com
    volume.kubernetes.io/storage-provisioner: csi.vsphere.vmware.com
    - kubernetes.io/pvc-protection
    - ReadWriteOnce
      storage: 500Mi
  storageClassName: example-vanilla-file-sc
  volumeMode: Filesystem
  phase: Pending

Hi there.

Ok I surely missed something. Retry the documentation from the beginning and everything ok now.

Thank you