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
wait for informer caches to sync before running controllers #2299
wait for informer caches to sync before running controllers #2299
Conversation
I am onboard w/ the idea here 👍 |
@ashish-amarnath FYI, I'm hoping that this followed by #131 puts us in a better position to contemplate a potential migration to kubebuilder, since most of the processing logic will have been extracted from our controllers and put into libraries. It also sets us up to more easily move to using worker pods (one per backup/restore) if we decide to go that route. |
2604ef4
to
56ab751
Compare
I went ahead and updated all the controllers. Note we'll hold this until after releasing v1.3, so I'm leaving it as a draft. |
56ab751
to
6b8f1c0
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is a great change to add, and the implementation seems fine to me.
bfd910f
to
6a952f7
Compare
ready for review/merge now that v1.3.0 has been tagged. |
Signed-off-by: Steve Kriss <krisss@vmware.com>
6a952f7
to
9f8e0ca
Compare
@nrb @ashish-amarnath gentle reminder that this is ready for review/merge. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm!
Signed-off-by: Steve Kriss krisss@vmware.com
closes #616 (already closed)
@carlisia @nrb @ashish-amarnath wanted to get your input on this change before making it for all the controllers. This moves the logic that waits for informers' caches to sync out of each individual controller, and into the main server process, before running any controllers. You can see #616 for a little more detail.
I want to do this because it makes some other refactoring that I'd like to do (basically #131) easier by not requiring each struct that uses an informer/lister to wait for cache sync before using it.
If it looks good to you, I'll continue changing all the other controllers!