gardener / machine-controller-manager

Declarative way of managing machines for Kubernetes cluster
Apache License 2.0
258 stars 120 forks source link

Add corresponding Machines to the worker queue when reconciling Machine Class #751

Open rishabh-11 opened 2 years ago

rishabh-11 commented 2 years ago

How to categorize this issue?

/area control-plane /kind enhancement /priority 3

What would you like to be added:

In the current mcm, during machine class reconciliation, the corresponding machines are added to the reconciliation queue only if no finaliser is present on the machine class. Check out the below code for reference. https://github.com/gardener/machine-controller-manager/blob/0d00e1426dfee6b47a5a952b91402db867d16436/pkg/util/provider/machinecontroller/machineclass.go#L157-L175

Instead, the machines should be added to the reconciliation queue regardless of whether the finalizer is present or not.

Why is this needed:

This above-mentioned behaviour is incorrect, as machines associated with a particular machine class should be reconciled when reconciling the corresponding machine class, regardless of whether the finalizer is present or not.

himanshu-kun commented 2 years ago

The issue for which the current code path was introduced https://github.com/gardener/machine-controller-manager/issues/560

himanshu-kun commented 1 year ago

Post grooming decision

Earlier machineClass events , didn't lead to reconciliation of machines. After the above change talked abt in this issue, there was only one link created i.e. we reconcile the machines for a machineClass only when machineClass(not under deletion) didn't have a finalizer. But now we think it would be better that we reconcile the corresponding machines for every update event of the machineClass. This is also inline with the changes we want as per #761 #635