-
Notifications
You must be signed in to change notification settings - Fork 462
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Harmonize finalizer addition across all controllers #4730
Comments
/priority 4 |
/assign |
@shafeeqes Can you please describe what is missing here after #5683? |
b) changing the update event handlers to enqueue objects only when the generation changed (instead of comparing metadata.generation and status.observedGeneration), this is also what controller-runtime supports out of the box with predicate.GenerationChangedPredicate since all the controllers are not yet refactored. |
Thanks @shafeeqes. As discussed earlier in our meeting, let's |
@rfranzke: Closing this issue. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
@timebertt @rfranzke after implementing b) finalizers are not enforced anymore. When finalizers are removed by someone/something else the reconciler does not add them unless a change which affects the generation happens or the controller is restarting. |
Is there a difference in this regard between a) and b)? |
Other controllers do the same, that's true 👍 |
This sounds good @oliver-goetz, please confirm :) If there is nothing to be done, even better! |
It is harmonized at most refactored controllers, but the more I check, the more places I find, where it's not done yet 😄 |
How to categorize this issue?
/area robustness
/kind enhancement
What would you like to be added:
From #4696 (comment):
In some controllers (e.g. shoot controller) we return
nil
after adding the finalizer and wait for an update watch event to prevent duplicated reconciliations (see #2364).However, a majority of the other controllers behaves differently and presumably does duplicated/unwanted reconciliations.
We should harmonize the behavior in all our controllers to
Ideas would be
nil
after adding finalizer)metadata.generation
andstatus.observedGeneration
), this is also what controller-runtime supports out of the box withpredicate.GenerationChangedPredicate
(see Optimize finalizer addition #4696 (comment))The text was updated successfully, but these errors were encountered: