From 25af834c4569d38bc0fe79df72ebfda163c3f8d0 Mon Sep 17 00:00:00 2001 From: Loick MAHIEUX Date: Fri, 13 Mar 2026 16:32:36 +0100 Subject: [PATCH] fix(machine): propagate MaxConcurrentReconciles to drain controller The drain controller was always created with default options, ignoring the MaxConcurrentReconciles value passed via caller opts. This meant platforms like Azure that set concurrent reconciles to 10 would still have the drain controller running with a single worker, creating a bottleneck during large-scale drain operations. Propagate MaxConcurrentReconciles from the incoming opts to the drain controller options so both controllers scale equally. Case: #04399828 --- pkg/controller/machine/controller.go | 1 + 1 file changed, 1 insertion(+) diff --git a/pkg/controller/machine/controller.go b/pkg/controller/machine/controller.go index 0bb0b3d038..d77ed76bd5 100644 --- a/pkg/controller/machine/controller.go +++ b/pkg/controller/machine/controller.go @@ -100,6 +100,7 @@ func AddWithActuatorOpts(mgr manager.Manager, actuator Actuator, opts controller } if err := addWithOpts(mgr, controller.Options{ + MaxConcurrentReconciles: opts.MaxConcurrentReconciles, Reconciler: newDrainController(mgr), RateLimiter: newDrainRateLimiter(), }, "machine-drain-controller"); err != nil {