-
Notifications
You must be signed in to change notification settings - Fork 31
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Attaching a disk uses nodeID to find the VM, which fails if hostname in cluster differs from VM name in VMware #255
Comments
@erSitzt this is a proper concern. There is no easy way to find a VM and the only way seems to be to iterate through all VMs and then get the right guest OS name. How are you creating VMs with different VMs? Do you use CAPVCD or CSE? Could you explain your cluster creation process. |
maybe @Vivida1 can elaborate... But at last in my environment i can get the vms UUID in the guest with something like dmidecode
And in vsphere ( using powerCLI to test it )
Not sure if that works everywhere, but looks to be a better match than hoping for identical names. P.S. had to edit.. dmidecode UUID does not match completely, but VMware Serial Number does. |
And even if this is very old... This looks like the UUID / VMware Serial Number is used when provisioning VMs. I did not check if its still the same logic, but if it is... This is the way :) |
Combination of Terraform and Ansible (+RKE2). Obviously VM names are defined in Terraform and K8s node names are defined inside the Ansible Playbook. In our case the VM names equal their hostnames, the K8s node names equal their FQDN. As a workaround we changed the K8s Node Names to the VM Hostname instead of its FQDN. But of course it would be much nicer if the CSI can derive the VM name instead of just assuming it to be the K8s node name. If it cannot derive the VM name, it still can fallback to using the Node ID. |
Thanks @Vivida1. I will check about how to get the hostname set within the guest by querying the VM properties. If there is no clear way to do so, will you be okay with setting some guestinfo parameters that can be retrieved from the VM properties? |
Describe the bug
Hostname of k8s nodes is a fqdn, VM name in VMware is the short name
Attaching the volume fails, because the VM to attach the volume to is not found.
The VM name is just
exp-k8s-prod-worker-0001
The VM lookup seems to just use the NodeID
Reproduction steps
Use different k8s node name and vm name
Expected behavior
something else :)
Additional context
No response
The text was updated successfully, but these errors were encountered: