Skip to content

test(e2e): add a GPUClass suite on a fake extended resource - #5051

Open
Aleksei Sviridkin (lexfrei) wants to merge 2 commits into
feat/gpudevice-webhooks-prfrom
test/gpudevice-e2e
Open

Aleksei Sviridkin (lexfrei) wants to merge 2 commits into
feat/gpudevice-webhooks-prfrom
test/gpudevice-e2e

Conversation

@lexfrei

@lexfrei Aleksei Sviridkin (lexfrei) commented Oct 22, 2026 •

Copy link
Copy Markdown
Contributor

Implements the step-1 test coverage of cozystack/community#99 at 30da976.

What this PR does

Adds a GPUClass suite for CI without GPUs. It checks declared VM and worker-pool budgets, vGPU entitlement refusal, class-to-VMI expansion, launcher tolerations and scheduling, and GPU usage in the launcher's existing Workload. The fake resource is advertised only after the blank disk is populated, on a node compatible with its PV affinity.

Offline lint, Bats tests with stubs, and assertion mutations check the test predicates and selectors. They do not exercise live controller, admission or scheduler behaviour. A full live E2E run remains required. There is no GPU device plugin in CI, so this suite does not prove device allocation, VMI sync, guest boot or guest drivers.

Screenshots

Not applicable; no UI changes.

Downstream repositories

The diff changes only the E2E install, suite and selectors, not a shipped API, package or developer-tooling contract.

Release note

test(e2e): add GPUClass admission, budget and launcher-accounting coverage on a fake extended resource, without requiring GPU hardware in CI.

@github-actions github-actions Bot added area/testing Issues or PRs related to testing (e2e, bats, unit tests) size/XL This PR changes 500-999 lines, ignoring generated files labels Oct 22, 2026
@coderabbitai

coderabbitai Bot commented Oct 22, 2026 •

Copy link
Copy Markdown
Contributor

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

Run configuration

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • Trigger review
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

Share

CodeRabbit Verify

  • Run CodeRabbit Verify to test the changes in this pull request.

@lexfrei Aleksei Sviridkin (lexfrei) changed the title test(e2e): add a GPUDevice suite on a fake extended resource test(e2e): add a GPUClaim suite on a fake extended resource Oct 26, 2026
GPU class admission needs the GPU-for-VMs variant and a permitted
resource name. Enable the optional operator when the install selection
keeps it and permit a fake external resource for GPU-free CI.

Validated with 13 platform-manifest Bats tests, including an install
selection that drops the operator.

Assisted-by: LLM
Signed-off-by: Aleksei Sviridkin <[email protected]>
CI has no GPU device plugin. Check class budgets at application writes,
class expansion at VMI admission and usage in the launcher Workload
without claiming a booted guest or a synced VMI.

Populate the blank disk before choosing a compatible GPU node: a local
WFFC volume bound elsewhere leaves the launcher unschedulable.

Validated offline with 133 Bats tests and 137 assertion/script/selector
mutations, including refusal paths. Live controller and scheduler
checks remain unproven.

Assisted-by: LLM
Signed-off-by: Aleksei Sviridkin <[email protected]>
@lexfrei Aleksei Sviridkin (lexfrei) changed the title test(e2e): add a GPUClaim suite on a fake extended resource test(e2e): add a GPUClass suite on a fake extended resource Nov 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/testing Issues or PRs related to testing (e2e, bats, unit tests) size/XL This PR changes 500-999 lines, ignoring generated files

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant