fix(log): add custom error handler for Kubernetes API errors #1024
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
This pull request includes changes to improve error handling and logging in the Kubernetes watcher and to simplify error checking in the endpoint reconciler. The most important changes include adding a custom error handler for the Kubernetes watcher, importing necessary packages, and simplifying error handling logic.
Improvements to error handling and logging:
pkg/k8s/watcher_linux.go
: Added a custom error handlerretinaK8sErrorHandler
to log specific Kubernetes API server errors and tag them for easier identification.pkg/k8s/watcher_linux.go
: Registered the custom error handler in theinit
function to ensure it is used by the watcher.Code simplification:
pkg/controllers/operator/cilium-crds/endpoint/endpoint_controller.go
: Simplified the error checking logic inhandlePodUpsert
by removing redundant error check.Checklist
git commit -S -s ...
). See this documentation on signing commits.Testing
I removed permission for retina agent to read nodes and services. I can see the completer error as as our custom message coming from retina.
Please refer to the CONTRIBUTING.md file for more information on how to contribute to this project.