Skip to content
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

Continuous error message about interfaces skipped by Linuxutil #1280

Closed
anubhabMajumdar opened this issue Jan 28, 2025 · 1 comment
Closed
Assignees
Labels
area/plugins go Pull requests that update Go code good first issue Good for newcomers help wanted Extra attention is needed lang/go The Go Programming Language priority/0 P0 scope/S Change is Small type/bug Something isn't working
Milestone

Comments

@anubhabMajumdar
Copy link
Contributor

Describe the bug

In a cluster, I am continuously seeing the following error

level=error caller=linuxutil/ethtool_stats_linux.go:81 msg="Error while getting ethtool:" ifacename=cilium_vxlan error="interface not supported while retrieving stats: operation not supported"

This interface should be skipped next time.

To Reproduce

  1. Deploy a Cilium cluster
  2. Install Retina with make helm-install

Expected behavior

Error should be reported once.

Platform (please complete the following information):

  • OS: Linux
  • Kubernetes Version: 1.29
  • Host: AKS
  • Retina Version: v0.0.17
@anubhabMajumdar anubhabMajumdar added area/plugins go Pull requests that update Go code good first issue Good for newcomers help wanted Extra attention is needed lang/go The Go Programming Language priority/0 P0 scope/S Change is Small type/bug Something isn't working labels Jan 28, 2025
@ibezrukavyi ibezrukavyi added this to the 1.0 milestone Jan 29, 2025
github-merge-queue bot pushed a commit that referenced this issue Feb 12, 2025

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
# Description

This PR addresses an issue where the plugin repeatedly logged the same
operation not supported error for interfaces on every metrics collection
cycle. The root cause ethtool handle is created and closed during each
interval, which invalidated any cached (LRU) information on unsupported
interfaces. Now, once an interface is identified as unsupported, it
won’t repeatedly log the same error.

## Related Issue

If this pull request is related to any issue, please mention it here.
Additionally, make sure that the issue is assigned to you before
submitting this pull request.

#1280
## Checklist

- [x] I have read the [contributing
documentation](https://retina.sh/docs/contributing).
- [x] I signed and signed-off the commits (`git commit -S -s ...`). See
[this
documentation](https://docs.github.com/en/authentication/managing-commit-signature-verification/about-commit-signature-verification)
on signing commits.
- [x] I have correctly attributed the author(s) of the code.
- [x] I have tested the changes locally.
- [x] I have followed the project's style guidelines.
- [x] I have updated the documentation, if necessary.
- [x] I have added tests, if applicable.

## Screenshots (if applicable) or Testing Completed

Please add any relevant screenshots or GIFs to showcase the changes
made.

Logs before fixing the issue:
<img width="851" alt="Before"
src="https://github.com/user-attachments/assets/edae5f1e-275e-4de6-9f74-23100dc49600"
/>
Logs after fixing the issue, the unsupported cache will only log once
now (add debug message for test and validate behaviour of LRU, which has
been removed in PR):
<img width="848" alt="After"
src="https://github.com/user-attachments/assets/ffbff4da-431b-4349-bc67-bdb4d7818fb9"
/>


## Additional Notes

Add any additional notes or context about the pull request here.

---

Please refer to the [CONTRIBUTING.md](../CONTRIBUTING.md) file for more
information on how to contribute to this project.
@xiaozhiche320
Copy link
Contributor

This issue has been fixed with pr: #1296

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/plugins go Pull requests that update Go code good first issue Good for newcomers help wanted Extra attention is needed lang/go The Go Programming Language priority/0 P0 scope/S Change is Small type/bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants