From 6eccc97a2fa4ccde682942e77186bc8895b41427 Mon Sep 17 00:00:00 2001 From: aaronfern Date: Mon, 16 Feb 2026 21:08:33 +0530 Subject: [PATCH 1/3] Newly created machine should not move to the pending state when node label is missing --- pkg/util/provider/machinecontroller/machine.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/pkg/util/provider/machinecontroller/machine.go b/pkg/util/provider/machinecontroller/machine.go index 420c3a87d..d7868bfba 100644 --- a/pkg/util/provider/machinecontroller/machine.go +++ b/pkg/util/provider/machinecontroller/machine.go @@ -457,6 +457,12 @@ func (c *controller) triggerCreationFlow(ctx context.Context, createMachineReque addresses.Insert(getMachineStatusResponse.Addresses...) } + if (c.targetCoreClient != nil && nodeName == "") || providerID == "" { + err := status.Error(codes.Internal, fmt.Sprintf("machine %q: nodeName or providerID is empty after creation flow", machine.Name)) + klog.Error(err) + return machineutils.ShortRetry, err + } + //Update labels, providerID var clone *v1alpha1.Machine clone, err = c.updateLabels(ctx, createMachineRequest.Machine, nodeName, providerID) From 5f57a20302c541870cccd5c83618e21a4e0f88b7 Mon Sep 17 00:00:00 2001 From: aaronfern Date: Tue, 17 Feb 2026 18:43:58 +0530 Subject: [PATCH 2/3] Update log --- pkg/util/provider/machinecontroller/machine.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/util/provider/machinecontroller/machine.go b/pkg/util/provider/machinecontroller/machine.go index d7868bfba..583c11b76 100644 --- a/pkg/util/provider/machinecontroller/machine.go +++ b/pkg/util/provider/machinecontroller/machine.go @@ -458,7 +458,7 @@ func (c *controller) triggerCreationFlow(ctx context.Context, createMachineReque } if (c.targetCoreClient != nil && nodeName == "") || providerID == "" { - err := status.Error(codes.Internal, fmt.Sprintf("machine %q: nodeName or providerID is empty after creation flow", machine.Name)) + err := status.Error(codes.Internal, fmt.Sprintf("machine %q: nodeName (%q) or providerID (%q) is empty after creation flow", machine.Name, nodeName, providerID)) klog.Error(err) return machineutils.ShortRetry, err } From 89d7a7463310e82aee3cb6049fcafe33f6e9e174 Mon Sep 17 00:00:00 2001 From: aaronfern Date: Tue, 17 Feb 2026 18:55:03 +0530 Subject: [PATCH 3/3] Change retry timeout to medium --- pkg/util/provider/machinecontroller/machine.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/util/provider/machinecontroller/machine.go b/pkg/util/provider/machinecontroller/machine.go index 583c11b76..108f6f1d1 100644 --- a/pkg/util/provider/machinecontroller/machine.go +++ b/pkg/util/provider/machinecontroller/machine.go @@ -460,7 +460,7 @@ func (c *controller) triggerCreationFlow(ctx context.Context, createMachineReque if (c.targetCoreClient != nil && nodeName == "") || providerID == "" { err := status.Error(codes.Internal, fmt.Sprintf("machine %q: nodeName (%q) or providerID (%q) is empty after creation flow", machine.Name, nodeName, providerID)) klog.Error(err) - return machineutils.ShortRetry, err + return machineutils.MediumRetry, err } //Update labels, providerID