-
Notifications
You must be signed in to change notification settings - Fork 494
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
Changes k8s watcher to use informers. #11161
Conversation
c43ba91
to
08ebe82
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.
Looking nice
a2bb3ed
to
4c76897
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.
a couple more comments to look at while i continue to review
4c76897
to
e031b76
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.
LGTM, minor changes.
6e54235
to
f670240
Compare
- This changes introduces the more robust shared index informer for juju. Underneath watchers are still used but with a higher safer level of abstraction
f670240
to
35c29ad
Compare
71c2a5a
to
5cec786
Compare
|
Checklist
Description of change
Moves k8swatcher to use shared informers over raw k8s watchers. Benefits here are listing, resuming and connection handling. Also will use a shared cache for fetching objects instead of putting extra load on the API server.
QA steps
Bootstrap juju controller to microk8s. The following steps will then kill the kube-apiserver to mimic connection loss.
Check the logs to make sure we are not seeing any error messages with
k8s event watcher closed, restarting
Next step is to manually destroy some workload pods and test the status is still being reported correctly in juju.
Bug reference
https://bugs.launchpad.net/juju/+bug/1859894