Skip to content

Commit eac48b0

Browse files
committed
fix(kubernetes): match the cloud-controller-manager's providerID to capmox
CAPI pairs a Machine with its Node by matching providerID exactly, and the two were written in different formats: capmox stamps proxmox://<SMBIOS UUID> on the ProxmoxMachine, while the controller's default mode emits proxmox://<region>/<vmid>. Nothing ever matched, so status.nodeRef stayed empty, the Machine stopped at Provisioned and its MachineDeployment reported ScalingUp indefinitely — all while the tenant cluster itself ran normally, which is what made it easy to miss. The chart already has the mode for this; it was simply left at the default. Note that the CSI chart spells the same idea `proxmox` and this one spells it `capmox`, which is why setting one is no reminder to set the other. Verified by replacing the Machine and watching the replacement converge: providerID identical on both objects, nodeRef set, phase Running, MachineDeployment 1/1 with the health check healthy, and a PVC still binding to a disk attached on the hypervisor. Signed-off-by: Marian Koreniuk <[email protected]> Assisted-by: LLM
1 parent a460714 commit eac48b0

1 file changed

Lines changed: 10 additions & 0 deletions

File tree

‎packages/system/proxmox-ccm/values.yaml‎

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,4 +30,14 @@ proxmox-cloud-controller-manager:
3030
- cloud-node-lifecycle
3131

3232
config:
33+
features:
34+
# capmox mode. Not cosmetic: it selects the providerID this controller
35+
# writes onto a Node. The default emits proxmox://<region>/<vmid>, while
36+
# capmox stamps proxmox://<SMBIOS UUID> on the ProxmoxMachine — and CAPI
37+
# pairs a Machine with its Node by matching that field exactly. Left at
38+
# the default the two never match, so the Machine gets no nodeRef, stops
39+
# at Provisioned, and its MachineDeployment reports ScalingUp forever
40+
# while the tenant cluster itself runs perfectly well. The CSI chart
41+
# spells the same mode `proxmox`; this one spells it `capmox`.
42+
provider: capmox
3343
clusters: []

0 commit comments

Comments
 (0)