Skip to content

e2e: fix OOM on ginkgo build#6217

Merged
zhangzujian merged 1 commit intokubeovn:masterfrom
zhangzujian:fix-oom
Jan 28, 2026
Merged

e2e: fix OOM on ginkgo build#6217
zhangzujian merged 1 commit intokubeovn:masterfrom
zhangzujian:fix-oom

Conversation

@zhangzujian
Copy link
Copy Markdown
Member

Pull Request

What type of this PR

Examples of user facing changes:

  • Features
  • Bug fixes
  • Docs
  • Tests

Which issue(s) this PR fixes

Fixes #(issue-number)

@gemini-code-assist
Copy link
Copy Markdown
Contributor

Summary of Changes

Hello @zhangzujian, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request primarily focuses on resolving an Out Of Memory (OOM) issue that was affecting the Ginkgo end-to-end test build process. The solution involves a strategic change in how the e2e test suites are compiled, breaking down a monolithic build command into individual executions to reduce memory footprint. Concurrently, a comprehensive update of various Go module dependencies has been performed to ensure the project's libraries are current and stable.

Highlights

  • Dependency Updates: Numerous Go module dependencies, including k8s.io/utils, github.com/elazarl/goproxy, go.etcd.io/etcd components, and google.golang.org/protobuf, have been updated to their latest versions to ensure the project uses up-to-date libraries and potentially resolve underlying issues.
  • Ginkgo E2E Build Process Refactoring: The end-to-end (e2e) test build process for Ginkgo has been refactored in the e2e.mk makefile. Instead of building all test suites with a single command, each test suite is now built individually. This change is specifically aimed at mitigating Out Of Memory (OOM) errors during the build.
  • OOM Fix for E2E Builds: The core purpose of this pull request is to address and fix an Out Of Memory (OOM) issue that was occurring during the Ginkgo e2e test build, primarily through the aforementioned build process refactoring.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

@coveralls
Copy link
Copy Markdown

coveralls commented Jan 27, 2026

Pull Request Test Coverage Report for Build 21398664771

Details

  • 0 of 0 changed or added relevant lines in 0 files are covered.
  • No unchanged relevant lines lost coverage.
  • Overall coverage remained the same at 22.923%

Totals Coverage Status
Change from base Build 21380742843: 0.0%
Covered Lines: 12334
Relevant Lines: 53806

💛 - Coveralls

Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request updates dependencies in go.mod and go.sum to address potential OOM issues during Ginkgo builds. The updates involve upgrading several indirect dependencies to newer versions. I have identified some opportunities to improve the code changes and have added review comments accordingly.

Comment on lines +87 to 105
$(GINKGO_E2E_BUILD) ./test/e2e/k8s-network
$(GINKGO_E2E_BUILD) ./test/e2e/kube-ovn
$(GINKGO_E2E_BUILD) ./test/e2e/ovn-ic
$(GINKGO_E2E_BUILD) ./test/e2e/multus
$(GINKGO_E2E_BUILD) ./test/e2e/non-primary-cni
$(GINKGO_E2E_BUILD) ./test/e2e/lb-svc
$(GINKGO_E2E_BUILD) ./test/e2e/vip
$(GINKGO_E2E_BUILD) ./test/e2e/vpc-egress-gateway
$(GINKGO_E2E_BUILD) ./test/e2e/iptables-vpc-nat-gw
$(GINKGO_E2E_BUILD) ./test/e2e/ovn-vpc-nat-gw
$(GINKGO_E2E_BUILD) ./test/e2e/ha
$(GINKGO_E2E_BUILD) ./test/e2e/security
$(GINKGO_E2E_BUILD) ./test/e2e/kubevirt
$(GINKGO_E2E_BUILD) ./test/e2e/webhook
$(GINKGO_E2E_BUILD) ./test/e2e/connectivity
$(GINKGO_E2E_BUILD) ./test/e2e/metallb
$(GINKGO_E2E_BUILD) ./test/e2e/anp-domain
$(GINKGO_E2E_BUILD) ./test/e2e/cnp-domain

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The e2e-build target is now splitting the execution of GINKGO_E2E_BUILD into multiple lines. While this might improve readability, it could potentially increase the build time due to the overhead of invoking GINKGO_E2E_BUILD multiple times. Consider whether this change introduces a noticeable performance impact.

Signed-off-by: zhangzujian <zhangzujian.7@gmail.com>
@zhangzujian zhangzujian marked this pull request as ready for review January 27, 2026 13:20
@dosubot dosubot bot added size:M This PR changes 30-99 lines, ignoring generated files. test automation tests labels Jan 27, 2026
@zhangzujian zhangzujian requested a review from oilbeater January 27, 2026 13:52
@dosubot dosubot bot added the lgtm This PR has been approved by a maintainer label Jan 27, 2026
@zhangzujian zhangzujian merged commit 7fade06 into kubeovn:master Jan 28, 2026
75 of 77 checks passed
@zhangzujian zhangzujian deleted the fix-oom branch January 28, 2026 01:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

lgtm This PR has been approved by a maintainer size:M This PR changes 30-99 lines, ignoring generated files. test automation tests

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants