Skip to content

e2e: add 8-socket 4k-CPU test for topology-aware - #599

Merged
klihub merged 1 commit into
containers:mainfrom
askervin:5e9-e2e-ta-4kcpu
Jan 20, 2026
Merged

klihub merged 1 commit into
containers:mainfrom
askervin:5e9-e2e-ta-4kcpu

Conversation

@askervin

@askervin askervin commented Nov 25, 2025

Copy link
Copy Markdown
Collaborator

Depends on:

This PR is stacked on top of above-mentioned PRs.

@klihub

klihub commented Dec 16, 2025

Copy link
Copy Markdown
Collaborator

@askervin I took a closer look at this review comment and the observed failure to allocate exclusive CPUs. Filed a fix for it as #604.

@askervin

askervin commented Dec 19, 2025

Copy link
Copy Markdown
Collaborator Author

@klihub, I rebased this (few commits on top of the v0.11 tag). I verified that the failure is from runc as expected. The test passes with fixed runc.

Do you think it would be ok and not too ugly, if in this situation a test could state its own verdict (like SKIP) instead of letting the framework to decide the verdict based on script exit status (PASS=0, FAIL!=0) or test runner failure (ERROR: exit status could not be read due to test code runner exploding to pieces).

I know it would be better to introduce a "test_verdict_SKIP" or similar function to run.sh so that test scripts would not get creative with different verdicts. But I think that would be better to do in a separate PR that touches run_tests.sh, run.sh, this test code.var.sh, and possibly the CXL memory test that has been written to work only on fedora.

@klihub

klihub commented Dec 19, 2025

Copy link
Copy Markdown
Collaborator

@klihub, I rebased this (few commits on top of the v0.11 tag). I verified that the failure is from runc as expected. The test passes with fixed runc.

Do you think it would be ok and not too ugly, if in this situation a test could state its own verdict (like SKIP) instead of letting the framework to decide the verdict based on script exit status (PASS=0, FAIL!=0) or test runner failure (ERROR: exit status could not be read due to test code runner exploding to pieces).

I know it would be better to introduce a "test_verdict_SKIP" or similar function to run.sh so that test scripts would not get creative with different verdicts. But I think that would be better to do in a separate PR that touches run_tests.sh, run.sh, this test code.var.sh, and possibly the CXL memory test that has been written to work only on fedora.

Yes, I think this should be fine. I don't think there is much difference, since anyway the tests need to get at least somewhat creative anyway to verify that some known external factor is causing test failure instead of the test itself failing.

I was thinking about doing the same but with checking what ended up in the OCI Spec instead cgroups, with something like this...

ctr=$(vm-command "crictl ps --name pod0c0 2>/dev/null" | grep Running | cut -d ' ' -f1)
cpus=$(vm-command "crictl inspect $ctr 2>/dev/null| jq .info.runtimeSpec.linux.resources.cpu.cpus" | sed -E 's/.([0-9,-]*)./\1/')
if (echo $cpus | tr ',' '\n' | grep -q '^4095$'); then
  error "Test verdict: SKIP, due to buggy runc..."
  exit 0
else
  error "failure..."

But if we can do an effectively similarly trustable verification in a simple way (what you seem to have in the PR now), then that's even better.

Signed-off-by: Antti Kervinen <antti.kervinen@intel.com>

@kad kad left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

LGTM

@klihub
klihub merged commit cb01467 into containers:main Jan 20, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants