Skip to content

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

Open
klihub wants to merge 3 commits into
mainfrom
e2e-test-fixes
Open

klihub wants to merge 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.

The two test30-numa-disabled tests boot the node with a kernel which
has NUMA support compiled out, and boot it back at the end by calling
enable-numa as their last statement. A failure anywhere in between
never gets there: error exits the test, so the node keeps running the
kernel without NUMA. If we are running multiple tests, every test
after the failure sees a machine with a single node... and will fail.

Restore the kernel from an EXIT trap instead, the way the tests which
have state to put back already do it, and let enable-numa return
without doing anything if NUMA is enabled, so that calling it when
there is nothing to restore is free.

Looking into a failure of these tests is easier on a node which still
has NUMA disabled, so take keep_numa_disabled=1 to leave it that way:

    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>
@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
Use ansible_facts to disable swap during provisioning.

Signed-off-by: Krisztian Litkey <krisztian.litkey@intel.com>
@klihub klihub changed the title e2e test fixes e2e: fix pod resolution, NUMA kernel restore and swap detection Sep 16, 2026
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.

1 participant