feat(hubble): decouple the payloadparser from hubble control plane.#38368
feat(hubble): decouple the payloadparser from hubble control plane.#38368dylandreimerink merged 1 commit intocilium:mainfrom
Conversation
2b13044 to
00ce49a
Compare
kaworu
left a comment
There was a problem hiding this comment.
Hi @ritwikranjan 👋 and thank you for the PR!
Patch LGTM, my only request is to add a description to the commit message (e.g. by copying the PR's description) so the commit history has enough context about the motivation behind the patch and one doesn't need to trace back to GitHub 🙏
|
Added the Since this one is newer and pure refactoring I think the conflicts will be easier to resolve if we merge #37986 first. |
|
Sounds good to me, I will wait for it to be merged and then rebase my changes with updated commit msg. |
pippolo84
left a comment
There was a problem hiding this comment.
Thanks for the PR. Left a comment inline suggesting a different organization of the Hubble cells.
00ce49a to
968dee1
Compare
pippolo84
left a comment
There was a problem hiding this comment.
LGTM 🚀 (just one minot nit left inline)
This is now merged! |
|
They did fail again. I am trying to figure out the issue, will ping again if I find something, in the mean time it would be great help if you can give your thoughts the potential issue. |
|
@ritwikranjan
So the initial inspection hint at an unexpected goroutine launched on Hive instantiation. The PR introduces: parser.New(params.Log, g, g, g, params.Ipcache, g, link.NewLinkCache(), params.CGroupManager, params.Config.SkipUnknownCGroupIDs, parserOpts...)in
The cleanest way to address this would be to refactor linkcache into a Cell with proper lifecycle cc @mhofstetter |
705b654 to
0dbd221
Compare
0dbd221 to
6a91e5a
Compare
|
@kaworu I have done some refactoring with link cache, can you retry the tests? Also think I need another review from datapath sig. |
6a91e5a to
8e395e6
Compare
This pull request introduces important changes to integrate a payload parser for Hubble. Currently, the parser (or Decoder) is tightly coupled with the launch code for Hubble, making it impossible to run Hubble without the Cilium dataplane. While we expose Hubble as a cell, we do not explicitly expose the parser as a dependency. In this update, I have extracted the parser initiation and exposed it as a cell. This change allows Hubble to operate as a standalone component, fully decoupled from the Cilium dataplane. Signed-off-by: Ritwik Ranjan <[email protected]>
8e395e6 to
fb13c3d
Compare
|
/test |
|
Hey @kaworu @gentoo-root can you also take a look as well and merge the changes if all looks okay? |
kaworu
left a comment
There was a problem hiding this comment.
Thank you @ritwikranjan patch LGTM! 🎉
gentoo-root
left a comment
There was a problem hiding this comment.
One minor comment, otherwise looks good to me.
|
@kaworu is it okay to merge the PR? |
|
It looks like this change made the |
Please ensure your pull request adheres to the following guidelines:
description and a
Fixes: #XXXline if the commit addresses a particularGitHub issue.
Fixes: <commit-id>tag, thenplease add the commit author[s] as reviewer[s] to this issue.
This pull request introduces important changes to integrate a payload parser for Hubble. Currently, the parser (or Decoder) is tightly coupled with the launch code for Hubble, making it impossible to run Hubble without the Cilium dataplane. While we expose Hubble as a cell, we do not explicitly expose the parser as a dependency.
In this update, I have extracted the parser initiation and exposed it as a cell. This change allows Hubble to operate as a standalone component, fully decoupled from the Cilium dataplane.
Integration of Payload Parser
parser.Cellto the imports and setup indaemon/cmd/cells.goto integrate the new payload parser for Hubble. [1] [2]payloadParserfield inhubbleParamsandhubbleIntegrationstructs, and updated the relevant functions to utilize this new field inpkg/hubble/cell/cell.goandpkg/hubble/cell/hubbleintegration.go. [1] [2] [3] [4] [5] [6]These changes streamline the Hubble integration and improve the maintainability of the codebase.