-
Notifications
You must be signed in to change notification settings - Fork 370
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
Gobgp client binary integration to support debugging #6541
Comments
I assume you mean adding the gobgp binary published as part of official releases (https://github.com/osrg/gobgp/releases) to the antrea-agent image.
We need to consider the above questions before committing to a solution. |
We had an initial discussion but not a detailed one, Initially we would like to have official gobgp client binary as a part of agent image(IMO) 1.gobgp size is 23 MB (not much impact on agent image) To start with, it might be preferred to keep this binary as part of image and then later decide if we have got enough antctl commands to support debugging and add debugging support via ephemeral containers ! |
When I download the binary from https://github.com/osrg/gobgp/releases (which is probably the right approach if we include it in the image), it seems to be ~15MB:
I agree that it should be acceptable, given that the antrea-agent image size if ~300MB (uncompressed). It's easy to keep including new things and grow the image size however, which is why IMO it is legitimate to wonder if this binary tool is really needed. We don't do this automatically for everything. For example, we do not include the Not saying this is necessary always the model to follow, but I think that Cilium is providing the necessary commands for debugging BGP in its CLI tool (https://docs.cilium.io/en/latest/cmdref/cilium-dbg_bgp/) but is not including |
Using the pre-built GoBGP binary from https://github.com/osrg/gobgp/releases offers the advantage of a smaller image size, approximately 15MB, and allows us to directly download the binary rather than building it ourselves. However, there are several disadvantages to using the pre-built binary beyond just security concerns. These include reduced control over the build process and dependencies, which could mean missing out on future optimizations or specific configurations achievable with a custom build. The GoBGP binary tool is mainly preferred for advanced live debugging, such as setting advanced log levels and monitoring. Given its critical role in maintaining connectivity, which is as important as OVS, it might be preferable to include the binary as part of the agent image to ensure robust production support. Alternatively, using ephemeral containers is a viable solution. However, having built-in advanced debugging capabilities within the agent image could be more beneficial for real-time troubleshooting and maintaining network stability. |
I think it's a terrible idea to manage a custom build for a third-party binary without a solid reason, at least for an OSS project like Antrea. While it offers flexibility (e.g., resolve relevant CVEs more quickly by controlling dependencies), it just becomes cumbersome. Plus we need to ensure that the binary we build works properly. Note that we don't have a custom build for CNI plugins for example. Either we add necessary functionality to antctl (my preferred solution), or we include the official binary in the image. |
Given the significant effort required to manage a custom build for GoBGP, it is practical to exclude this solution. Although antctl support for BGP is already being implemented in #6209 and offers a consistent approach, using the official GoBGP binary ensures we leverage a tested and stable version. This minimizes the risk of build errors or inconsistencies and provides the immediate, robust BGP support that complements the ongoing developments in antctl. |
More details available here |
Gobgp client can be used to interact with the BGP daemon.
The text was updated successfully, but these errors were encountered: