test: add kwok test and pprof endpoint for diagnosing memory issues#501
Open
jmclong wants to merge 2 commits into
Open
test: add kwok test and pprof endpoint for diagnosing memory issues#501jmclong wants to merge 2 commits into
jmclong wants to merge 2 commits into
Conversation
9e27808 to
fb87a54
Compare
Add --pprof-bind-address flag to both binaries, wired into
controller-runtime's PprofBindAddress option. Empty value (default)
disables pprof; setting an address (e.g. :6060) exposes /debug/pprof/*
for heap, goroutine, and CPU profiling.
Helm chart exposes observability.{driver,manager}.pprof.{enabled,port}
(disabled by default, port 6060). Useful for debugging memory issues
such as OOMKill investigations during scale and kwok tests.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
c6a561c to
27ca839
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This pull request introduces support for running end-to-end scale tests using a kwok-tuned kind cluster, alongside several improvements to observability and test infrastructure. The most significant changes are the addition of the Kwok cluster type and associated Makefile targets, enhancements to pprof profiling configuration for both the driver and manager, and improvements to test job configuration and cluster management.
Kwok Cluster Support and Test Infrastructure:
KwokClusterclass to.github/workflows/scripts/run_tests.pyto manage kwok-tuned kind clusters for scale testing, including setup and cleanup logic. The cluster is created withmake kwok-bootstrapand is designed for high-scale fake node scenarios..github/workflows/test-e2e-pr.ymlto add a "Kwok Scale" test job, which uses the newkwokcluster type and appropriate Makefile targets and environment variables. This ensures scale tests run in CI using the kwok-tuned cluster. [1] [2]kwokcluster type, allowing selection via the--cluster-typeflag. [1] [2]Makefile Enhancements for Kwok and Cluster Management:
kwok-cluster,kwok-bootstrap,kwok, andkwok-uninstall, as well as improved cluster creation logic for kind and kwok clusters. These targets streamline setup, teardown, and installation of kwok and its dependencies. [1] [2]Observability Improvements:
pprof.enabledandpprof.port) and command-line flags (--pprof-bind-address). The deployment templates and Go binaries now expose pprof endpoints when enabled, aiding in performance diagnostics. [1] [2] [3] [4] [5] [6] [7] [8] [9]Other Improvements and Fixes:
IfNotPresentpull policy for images, optimizing for local development and CI runs.These changes collectively enable scalable, efficient CI testing using kwok, improve profiling capabilities, and streamline cluster management for both development and automated testing.