-
Notifications
You must be signed in to change notification settings - Fork 500
Add E2E tests for DRA #8421
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
base: main
Are you sure you want to change the base?
Add E2E tests for DRA #8421
Conversation
✅ Deploy Preview for kubernetes-sigs-kueue canceled.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR adds comprehensive end-to-end tests for the Dynamic Resource Allocation (DRA) feature in Kueue, validating that workloads using DRA resources are correctly managed. The changes include test infrastructure setup, DRA driver installation scripts, multiple test scenarios covering quota management, and helper functions for creating jobs with DRA resource claims.
Key Changes
- Adds E2E test suite for DRA with 5 test scenarios covering admission, quota enforcement, and multi-pod jobs
- Implements infrastructure to build and deploy the DRA example driver from source in the test environment
- Adds configuration for enabling DRA feature gates in Kind clusters and Kueue controllers
Reviewed changes
Copilot reviewed 9 out of 9 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| test/e2e/dra/suite_test.go | Test suite setup with DRA driver availability checks |
| test/e2e/dra/dra_test.go | Five comprehensive test scenarios validating DRA resource management |
| test/e2e/config/dra/kustomization.yaml | Kustomization configuration for DRA E2E environment |
| test/e2e/config/dra/controller_manager_config.yaml | Controller configuration enabling DRA feature gate and device class mappings |
| test/e2e/config/dra/manager_e2e_patch.yaml | Image pull policy patch for E2E testing |
| pkg/util/testingjobs/job/wrappers.go | Helper function to add DRA resource claim templates to test jobs |
| hack/e2e-common.sh | Installation and configuration functions for DRA example driver |
| Makefile-test.mk | Make target for running DRA E2E tests |
| Makefile-deps.mk | DRA example driver version configuration |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
83263a0 to
8e6e90e
Compare
6b70be0 to
a8a46d3
Compare
hack/e2e-common.sh
Outdated
| dra_driver_temp_dir=$(mktemp -d) | ||
| # shellcheck disable=SC2064 # Intentionally expand now to capture the temp dir path | ||
| trap "rm -rf '$dra_driver_temp_dir'" RETURN | ||
| git clone --depth 1 --branch main "${DRA_EXAMPLE_DRIVER_REPO}" "$dra_driver_temp_dir" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is using the main branch so it can potentially break our builds, also releases, if there is a bug upstream. I think it would be better to somehow depend on the released version, and ideally if this gets managed by dependabot.
cc @sohankunkerkar @mbobrovskyi is there a way to achieve it?
I'm ok temporarily to use "main" branch, but I would like to see a proper path forward.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
cc @sohankunkerkar @mbobrovskyi is there a way to achieve it?
I think so. The repository https://github.com/kubernetes-sigs/dra-example-driver.git
is in Go, so we could probably add it as a dependency in hack/internal/tools. That way, we can bump it with each release.
I'm ok temporarily to use "main" branch, but I would like to see a proper path forward.
👍
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is using the main branch so it can potentially break our builds, also releases, if there is a bug upstream. I think it would be better to somehow depend on the released version, and ideally if this gets managed by dependabot.
I can create an issue in https://github.com/kubernetes-sigs/dra-example-driver.git to ask for the new release.
I've not see any activity for the last 3 months so I'm not sure if the repo is actively managed.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I see, please do then. It would be better to test released version.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we can switch to the release version when we get there. Are we going to block this PR until then?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we can switch to the release version when we get there. Are we going to block this PR until then?
Thank you, no need to block on that since there is already consensus, and it should be done in coming days.
Let's merge as is so that we can in parallel:
- start running the new tests in another CI job
- update to released version when that is ready
|
/lgtm |
|
LGTM label has been added. DetailsGit tree hash: 216035182a1ddefba2f6ff85c9c6ce443bd10afe |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: mimowo, sohankunkerkar The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
|
/hold |
a8a46d3 to
542919a
Compare
|
New changes are detected. LGTM label has been removed. |
Actually the tests run with |
542919a to
08b068f
Compare
This change adds end-to-end tests for the DRA feature, validating that Kueue correctly manages workloads using DRA. Signed-off-by: Sohan Kunkerkar <[email protected]>
08b068f to
4bff381
Compare
This change adds end-to-end tests for the DRA feature, validating that Kueue correctly manages workloads using DRA.
What type of PR is this?
/kind cleanup
What this PR does / why we need it:
Which issue(s) this PR fixes:
Fixes #
Special notes for your reviewer:
Part of #8243 and we need this before pushing the Kueue + DRA feature to Beta.
Does this PR introduce a user-facing change?