Skip to content

fix(e2e): size tenant workers by resources, not by u1.large - #3840

Merged
Aleksei Sviridkin (lexfrei) merged 1 commit into
mainfrom
fix/e2e-worker-vcpu-without-memory-bump
Aug 15, 2026
Merged

fix(e2e): size tenant workers by resources, not by u1.large#3840
Aleksei Sviridkin (lexfrei) merged 1 commit into
mainfrom
fix/e2e-worker-vcpu-without-memory-bump

Conversation

@lexfrei

@lexfrei Aleksei Sviridkin (lexfrei) commented Aug 15, 2026

Copy link
Copy Markdown
Contributor

What this PR does

Follow-up to #3839, which moved the e2e tenant workers to u1.large to give them a second vCPU. That instancetype doubles memory along with the vCPUs, and four 8Gi workers do not fit on the sandbox beside the rest of the suite. On the first runs after it landed, the second worker of each cluster stayed Pending with 0/3 nodes are available: 3 Insufficient memory, so the node group never reached two Ready nodes and node-join failed for a reason unrelated to the CPU ceiling the change was meant to test. The memory estimate in that PR body counted the workers against total node memory and did not account for what the rest of the suite already occupies.

This sizes the group with resources.cpu and resources.memory instead, which keeps the two vCPUs at the 4Gi the workers had before. The chart omits the instancetype from the VM whenever a group sets both fields, since KubeVirt rejects a VM that references an instancetype and also overrides CPU or memory, and the values schema still lists instanceType as required, so it stays in the values as the fallback it now is.

The measurement from those runs is worth keeping even though the runs were spoiled. Where the workers did start, the two-scrape capture read 1.46 to 1.93 against the new ceiling of 2.0, with 2 to 5 percent of CFS periods throttled, against 0.93 to 0.98 of a 1.0 ceiling at 8 to 13 percent throttled before. The ceiling was binding, and raising it does loosen it; whether that is enough to make the join deadline is what the next runs measure.

Screenshots

Not applicable, no UI change.

Downstream repositories

The diff is one values block inside hack/e2e-chainsaw/_lib/run-kubernetes.sh. Nothing under hack/ is moved or renamed, no make target changes behaviour, no package, schema, default or CRD changes. Nothing in the trigger map is touched.

Release note

fix(e2e): tenant workers in the kubernetes e2e suites keep their two vCPUs but go back to 4Gi of memory, since the larger instancetype left workers unschedulable on the sandbox

Summary by CodeRabbit

  • Configuration
    • Updated tenant worker nodes to use u1.medium instances.
    • Set each worker’s resources to 2 CPUs and 4 GiB of memory.

Sizing the workers with u1.large doubled their memory along with the
vCPUs, and four 8Gi workers do not fit on the sandbox beside the rest of
the suite: the second worker of each cluster stayed Pending with
Insufficient memory on all three nodes, so the node group could never
reach two Ready nodes and node-join failed for a reason that has nothing
to do with the CPU ceiling it was meant to test.

Setting resources.cpu and resources.memory keeps the two vCPUs at the
memory the workers had before. The chart drops the instancetype from the
VM when a group sets both, and the values schema still requires the
field, so it stays in the values as the sizing fallback it now is.

Assisted-By: Claude <noreply@anthropic.com>
Signed-off-by: Aleksei Sviridkin <3811295@gmail.com>
@github-actions github-actions Bot added area/testing Issues or PRs related to testing (e2e, bats, unit tests) kind/bug Categorizes issue or PR as related to a bug size/S This PR changes 10-29 lines, ignoring generated files labels Aug 15, 2026
@coderabbitai

coderabbitai Bot commented Aug 15, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 3538467c-e756-4bc4-8257-6b5716f645f2

📥 Commits

Reviewing files that changed from the base of the PR and between 71c0fc1 and 2b3c163.

📒 Files selected for processing (1)
  • hack/e2e-chainsaw/_lib/run-kubernetes.sh

📝 Walkthrough

Walkthrough

The tenant worker node group now uses u1.medium instances with explicit requests for 2 CPUs and 4 GiB of memory.

Changes

Tenant worker configuration

Layer / File(s) Summary
Configure tenant worker resources
hack/e2e-chainsaw/_lib/run-kubernetes.sh
The tenant worker node group changes from u1.large to u1.medium and requests 2 CPUs and 4 GiB of memory.

Estimated code review effort: 2 (Simple) | ~10 minutes

Merge Risk: ⚪ Minimal · up to 2b3c1

This localized e2e sizing change preserves two vCPUs while reducing worker memory to 4Gi, with no actionable merge-blocking risk remaining after normal checks and review.

Possibly related PRs

  • cozystack/cozystack#3839: Both PRs update the tenant worker node group instance type and CPU/memory allocation in the same script.

Suggested reviewers: kvaps

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly describes the main change: sizing tenant workers with explicit resources instead of relying on the u1.large instance type.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/e2e-worker-vcpu-without-memory-bump

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

Comment @coderabbitai help to get the list of available commands.

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) kind/bug Categorizes issue or PR as related to a bug size/S This PR changes 10-29 lines, ignoring generated files

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant