fix: hubble not showing services and app names on relay and ui - #1754
Conversation
40653f1 to
f214a44
Compare
There was a problem hiding this comment.
Pull Request Overview
This PR fixes the issue where service IPs are not being resolved in the Hubble relay's flow logs and app names are not showing up on Hubble UI by introducing a service cache and a label cache via the service and cilium identity controllers.
- Implements service and CiliumIdentity reconcilers using controller-runtime to maintain in-memory caches
- Replaces previous incomplete service decoder with functional service resolution from IP addresses
- Adds label resolution for security identities to display app names in Hubble UI
Reviewed Changes
Copilot reviewed 14 out of 14 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| pkg/k8s/cell_linux.go | Enables operator-managed CIDs in cache allocator configuration |
| pkg/hubble/resources/service_linux.go | Implements service reconciler for caching service IP to name mappings |
| pkg/hubble/resources/service_linux_test.go | Comprehensive test coverage for service reconciler functionality |
| pkg/hubble/resources/ciliumidentity_linux.go | Implements CiliumIdentity reconciler for caching labels by security identity |
| pkg/hubble/resources/ciliumidentity_linux_test.go | Test coverage for CiliumIdentity reconciler operations |
| pkg/hubble/resources/cell_linux.go | Hive cell module configuration for resource reconcilers |
| pkg/hubble/parser/seven/parser_linux.go | Updates parser to use new service reconciler and label cache |
| pkg/hubble/parser/parser_linux.go | Refactors parser constructor to use dependency injection |
| pkg/hubble/parser/layer34/parser_linux.go | Updates layer34 parser to use new decoders |
| pkg/hubble/common/decoder_linux.go | Adds LabelCache interface and removes incomplete service decoder |
| deploy/hubble/manifests/controller/helm/retina/values.yaml | Updates Hubble UI image versions and repositories |
| cmd/hubble/daemon_linux.go | Adds Cilium API v2 scheme registration |
| cmd/hubble/cells_linux.go | Integrates resource cell and updates parser dependency injection |
| Makefile | Increases golangci-lint concurrency for better performance |
Comments suppressed due to low confidence (4)
pkg/hubble/resources/ciliumidentity_linux_test.go:283
- The function parameter should be named 't' following Go testing conventions.
func TestCiliumIdentityReconciler_removeIdentityFromCache_InvalidName(*testing.T) {
pkg/hubble/resources/ciliumidentity_linux_test.go:294
- The function parameter should be named 't' following Go testing conventions.
func TestCiliumIdentityReconciler_removeIdentityFromCache_NotInCache(*testing.T) {
pkg/hubble/resources/service_linux.go:68
- [nitpick] The error message should be more specific about what operation failed, e.g., 'failed to retrieve Service from Kubernetes API'.
return ctrl.Result{}, errors.Wrap(err, "failed to get Service")
pkg/hubble/resources/ciliumidentity_linux.go:73
- [nitpick] The error message should be more specific about what operation failed, e.g., 'failed to retrieve CiliumIdentity from Kubernetes API'.
return ctrl.Result{}, errors.Wrap(err, "failed to get CiliumIdentity")
61d3d60 to
ec8899a
Compare
|
Looking forward to this to improve the hubble experience. |
|
Is there a roadmap when this will be released? |
|
Any update on this PR Quang Nguyen (@nddq) ? |
|
Vincent Schwarzer (@VincentS) hey, sorry for the delay as I've been busy with other commitments, I've asked the internal team for reviews. |
|
Hello Quang Nguyen (@nddq), Anubhab Majumdar (@anubhabMajumdar) and Team, any update on this PR? |
|
This PR will be closed in 7 days due to inactivity. |
ec8899a to
d718e1d
Compare
d718e1d to
5f2e246
Compare
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 14 out of 14 changed files in this pull request and generated 5 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
7ab5129 to
8bd0364
Compare
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 10 out of 10 changed files in this pull request and generated 7 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
This PR fixes the issue where service IPs are not being resolved in the Hubble relay's flow logs and app names are not showing up on Hubble UI. This was done by introducing a service cache and a label cache via the service and cilium identity controllers. Signed-off-by: Quang Nguyen <nguyenquang@microsoft.com>
8bd0364 to
4f46bad
Compare
Simone Rodigari (SRodi)
left a comment
There was a problem hiding this comment.
LGTM, this is a long awaited great fix Quang Nguyen (@nddq), thanks a lot!
Mereta (mereta)
left a comment
There was a problem hiding this comment.
Validated this locally all looking good! Thanks Quang Nguyen (@nddq)!
|
Mereta (@mereta) is there going to be a new retina release with this fix? would that be available with 1.0.3? |
Yes 1.0.3 will have this. We definitely still need a Documentation update for this. |
|
Hi Mereta (@mereta) is there a approximate date for 1.0.3 release? |
|
Jonasz Łasut-Balcerzak (@jonasz-lasut) https://github.com/microsoft/retina/releases/tag/v1.0.3 we've just released it :) |
…soft#1754) # Description This PR fixes the issue where service IPs are not being resolved in the Hubble relay's flow logs and app names are not showing up on Hubble UI. This was done by introducing a service cache and a label cache via the service and cilium identity controllers. ## 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. ## Checklist - [ ] I have read the [contributing documentation](https://retina.sh/docs/Contributing/overview). - [ ] 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. - [ ] I have correctly attributed the author(s) of the code. - [ ] I have tested the changes locally. - [ ] I have followed the project's style guidelines. - [ ] I have updated the documentation, if necessary. - [ ] I have added tests, if applicable. ## Screenshots (if applicable) or Testing Completed <img width="3318" height="1124" alt="image" src="https://github.com/user-attachments/assets/97ba0a73-5938-4ecc-aae5-8d25e976ded7" /> <img width="2995" height="1065" alt="image" src="https://github.com/user-attachments/assets/6c44a80a-7e1e-4b42-9378-705d407d3dc4" /> ## 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. Signed-off-by: Quang Nguyen <nguyenquang@microsoft.com>
…soft#1754) # Description This PR fixes the issue where service IPs are not being resolved in the Hubble relay's flow logs and app names are not showing up on Hubble UI. This was done by introducing a service cache and a label cache via the service and cilium identity controllers. ## 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. ## Checklist - [ ] I have read the [contributing documentation](https://retina.sh/docs/Contributing/overview). - [ ] 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. - [ ] I have correctly attributed the author(s) of the code. - [ ] I have tested the changes locally. - [ ] I have followed the project's style guidelines. - [ ] I have updated the documentation, if necessary. - [ ] I have added tests, if applicable. ## Screenshots (if applicable) or Testing Completed <img width="3318" height="1124" alt="image" src="https://github.com/user-attachments/assets/97ba0a73-5938-4ecc-aae5-8d25e976ded7" /> <img width="2995" height="1065" alt="image" src="https://github.com/user-attachments/assets/6c44a80a-7e1e-4b42-9378-705d407d3dc4" /> ## 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. Signed-off-by: Quang Nguyen <nguyenquang@microsoft.com>
Description
This PR fixes the issue where service IPs are not being resolved in the Hubble relay's flow logs and app names are not showing up on Hubble UI. This was done by introducing a service cache and a label cache via the service and cilium identity controllers.
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.
Checklist
git commit -S -s ...). See this documentation on signing commits.Screenshots (if applicable) or Testing Completed
Additional Notes
Add any additional notes or context about the pull request here.
Please refer to the CONTRIBUTING.md file for more information on how to contribute to this project.