Skip to content

e2e: fix pod resolution, NUMA kernel restore and swap detection - #791

Merged
askervin merged 3 commits into
mainfrom
e2e-test-fixes
Sep 18, 2026
Merged

askervin merged 3 commits into
mainfrom
e2e-test-fixes

Conversation

@klihub

@klihub klihub commented Sep 16, 2026 •

Copy link
Copy Markdown
Collaborator

Three fixes to the test harness which the rest of this stack builds on.

  • vm-wait-pod-regexp resolved more than one pod, and could resolve one which was
    terminating. Port forwarding to the plugin then got two names and kubectl
    refused with "TYPE/NAME and list of ports are required for port-forward".
    Print a single pod, and never a terminating one.
  • The test30-numa-disabled tests boot the node with a kernel which has NUMA
    compiled out and boot it back by calling enable-numa as their last statement,
    so a failure anywhere in between left the node without NUMA and every later
    test saw a single node and failed too. Restore the kernel from an EXIT trap
    instead, the way the other tests with state to put back already do, and let
    enable-numa return without doing anything when NUMA is already enabled.
    keep_numa_disabled=1 leaves the node NUMA-less for looking into a failure.
  • Provisioning decided whether to switch swap off from the top-level
    ansible_swaptotal_mb fact, which is not there with injected top-level facts
    turned off. Take it from ansible_facts instead.

@klihub
klihub added this pull request to stack #796 September 16, 2026 11:44
@klihub
klihub requested a review from askervin September 16, 2026 11:45
@klihub klihub changed the title e2e test fixes e2e: fix pod resolution, NUMA kernel restore and swap detection Sep 16, 2026

@askervin askervin 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

@askervin askervin 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.

We have some other tests, too, that change system configuration in such a way that it may lead failures in next tests (modify kernel command line, for instance).

Therefore I wonder if we should actually have some more generic options to control:

  1. whether or not we want a test to try recovering the node after failed test execution, and/or
  2. whether or not we want execution of multiple tests stop on first error

In that perspective, some sort of global debug_first_fail=1 could perhaps imply keep_numa_disabled=1 and possibly other "don't restore on failure" variables.

But this doesn't need to be part of this PR. I'm just thinking how we could manage keep_numa_disabled-like variables...

The num-disabled tests boot the node with a kernel without NUMA
support, run the tests, then boot back to a NUMA-enabled kernel.
A failure in the tests leaves the node running with the special
test kernel, causing subsequent tests which expect NUMA support
to fail. So restore the kernel from an EXIT trap instead.

To debug the NUMA-less tests themselves use keep_numa_disabled=1
like this

    keep_numa_disabled=1 ./run_tests.sh \
        policies.test-suite/balloons/n4c16/test30-numa-disabled

Assisted-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
Signed-off-by: Krisztian Litkey <krisztian.litkey@intel.com>
Print a single pod in vm-wait-pod-regexp, and never one which is
terminating. Otherwise port forwarding got two names while one pod was
terminating and another starting, and kubectl refused:

    error: TYPE/NAME and list of ports are required for port-forward

Assisted-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
Signed-off-by: Krisztian Litkey <krisztian.litkey@intel.com>
Use ansible_facts to disable swap during provisioning.

Signed-off-by: Krisztian Litkey <krisztian.litkey@intel.com>
@klihub

klihub commented Sep 18, 2026 •

Copy link
Copy Markdown
Collaborator Author

We have some other tests, too, that change system configuration in such a way that it may lead failures in next tests (modify kernel command line, for instance).

Therefore I wonder if we should actually have some more generic options to control:

  1. whether or not we want a test to try recovering the node after failed test execution, and/or
  2. whether or not we want execution of multiple tests stop on first error

In that perspective, some sort of global debug_first_fail=1 could perhaps imply keep_numa_disabled=1 and possibly other "don't restore on failure" variables.

But this doesn't need to be part of this PR. I'm just thinking how we could manage keep_numa_disabled-like variables...

@askervin That's a good point. Let's take a closer look at that and then extend/clean up the limited concept this PR introduced to be more generally usable, but let's do it in a separate dedicated PR.

@askervin
askervin merged commit f4e4f09 into main Sep 18, 2026
14 checks passed
@klihub
klihub deleted the e2e-test-fixes branch September 21, 2026 18:54
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.

2 participants