Skip to content

Commit bcbaa84

Browse files
authored
Enable providerid controller for infra provider (#1246)
Signed-off-by: Alexey Makhov <[email protected]> Signed-off-by: makhov <[email protected]>
1 parent 3d36b96 commit bcbaa84

File tree

2 files changed

+18
-12
lines changed

2 files changed

+18
-12
lines changed

cmd/main.go

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -262,14 +262,6 @@ func main() {
262262
setupLog.Error(err, "unable to create controller", "controller", "Bootstrap")
263263
os.Exit(1)
264264
}
265-
if err = (&bootstrap.ProviderIDController{
266-
Client: mgr.GetClient(),
267-
Scheme: mgr.GetScheme(),
268-
ClientSet: clientSet,
269-
}).SetupWithManager(mgr); err != nil {
270-
setupLog.Error(err, "unable to create controller", "controller", "Bootstrap")
271-
os.Exit(1)
272-
}
273265
}
274266

275267
if isControllerEnabled(controlPlaneController) {
@@ -355,6 +347,19 @@ func main() {
355347
}
356348
}
357349

350+
// ProviderID controller needs to run if either bootstrap or infrastructure controllers are running
351+
// as both of them create/update Machines.
352+
if runCAPIControllers && (isControllerEnabled(infrastructureController) || isControllerEnabled(bootstrapController)) {
353+
if err = (&bootstrap.ProviderIDController{
354+
Client: mgr.GetClient(),
355+
Scheme: mgr.GetScheme(),
356+
ClientSet: clientSet,
357+
}).SetupWithManager(mgr); err != nil {
358+
setupLog.Error(err, "unable to create controller", "controller", "ProviderID")
359+
os.Exit(1)
360+
}
361+
}
362+
358363
if err := mgr.AddHealthzCheck("healthz", healthz.Ping); err != nil {
359364
setupLog.Error(err, "unable to set up health check")
360365
os.Exit(1)

internal/controller/bootstrap/providerid_controller.go

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -39,13 +39,14 @@ func (p *ProviderIDController) Reconcile(ctx context.Context, req ctrl.Request)
3939
return ctrl.Result{}, err
4040
}
4141

42-
// Skip the control plane machines that don't have worker enabled
43-
if capiutil.IsControlPlaneMachine(machine) && machine.ObjectMeta.Labels["k0smotron.io/control-plane-worker-enabled"] != "true" {
42+
// Skip non-k0smotron managed machines
43+
if machine.Spec.Bootstrap.ConfigRef.Kind != "K0sControllerConfig" && machine.Spec.Bootstrap.ConfigRef.Kind != "K0sWorkerConfig" &&
44+
machine.Spec.InfrastructureRef.Kind != "RemoteMachine" {
4445
return ctrl.Result{}, nil
4546
}
4647

47-
// Skip non-k0s machines
48-
if machine.Spec.Bootstrap.ConfigRef.Kind != "K0sControllerConfig" && machine.Spec.Bootstrap.ConfigRef.Kind != "K0sWorkerConfig" {
48+
// Skip the control plane machines that don't have worker enabled
49+
if machine.Spec.Bootstrap.ConfigRef.Kind == "K0sControllerConfig" && machine.ObjectMeta.Labels["k0smotron.io/control-plane-worker-enabled"] != "true" {
4950
return ctrl.Result{}, nil
5051
}
5152

0 commit comments

Comments
 (0)