Persistent volume on VMware empty VM UUID

Hello all, I’ve been banging my head against the wall for over a week trying to get persistent storage on VMware to work.

I’ve configured my cloud provider and storage class, however when adding a volume I immediately get an error “No VM found”. I’ve done a lot of googling on this issue and it appears to be cloud provider related, however I can’t figure out exactly what in my config is wrong. There are a few posts where the issue has been solved but no real details as to what was done to fix it.

If I SSH into my node and look at the kubelet controller logs, it looks like it’s searching for a VM by UUID however the UUID is blank.

I0302 19:44:12.987342       1 vsphere_volume.go:375] Provision with selectedNode:  and allowedTopologies : []
I0302 19:44:12.987421       1 vsphere.go:1173] Starting to create a vSphere volume with volumeOptions: &{CapacityKB:5242880 Tags:map[] Name:kubernetes-dynamic-pvc-c740815a-9ad4-4be9-aced-0ee0e5aa6c47 DiskFormat:zeroedthick Datastore:MyDatastore1 VSANStorageProfileData: StoragePolicyName: StoragePolicyID: SCSIControllerType: Zone:[] SelectedNode:nil}
I0302 19:44:13.047834       1 vsphere.go:1225] Volume topology : []
E0302 19:44:13.059820       1 datacenter.go:78] Unable to find VM by UUID. VM UUID:
E0302 19:44:13.059915       1 nodemanager.go:434] Error "No VM found" node info for node "volumetest1" not found
E0302 19:44:13.059960       1 vsphere_util.go:132] Error while obtaining Kubernetes node nodeVmDetail details. error : No VM found
E0302 19:44:13.060039       1 vsphere.go:1317] Failed to get shared datastore: No VM found
I0302 19:44:13.060144       1 pv_controller.go:1468] failed to provision volume for claim "default/mytestvol1" with StorageClass "vmwarevol": No VM found
E0302 19:44:13.060278       1 goroutinemap.go:150] Operation for "provision-default/mytestvol1[c740815a-9ad4-4be9-aced-0ee0e5aa6c47]" failed. No retries permitted until 2020-03-02 19:46:15.060210505 +0000 UTC m=+1596.920794628 (durationBeforeRetry 2m2s). Error: "No VM found"
I0302 19:44:13.060319       1 event.go:281] Event(v1.ObjectReference{Kind:"PersistentVolumeClaim", Namespace:"default", Name:"mytestvol1", UID:"c740815a-9ad4-4be9-aced-0ee0e5aa6c47", APIVersion:"v1", ResourceVersion:"9107", FieldPath:""}): type: 'Warning' reason: 'ProvisioningFailed' Failed to provision volume with StorageClass "vmwarevol": No VM found

Any help would be greatly appreciated. Thanks!

Should also mention… Running v2.3.5

you have to set disk.EnableUUID=TRUE
this is an advanced virtual machine setting.

$vm_UUID_enable_check = get-vm $vm | Get-AdvancedSetting -Name disk.enableUUID | select Value | ft -HideTableHeaders
if ($vm_UUID_enable_check) {
if((get-vm $vm | Get-AdvancedSetting -Name disk.enableUUID).Value -ne “true”){
$vm | Get-AdvancedSetting -Name ‘disk.enableUUID’ | Set-AdvancedSetting -Value ‘true’ -Confirm:$false