Commit Graph

3135 Commits

Author SHA1 Message Date
Kubernetes Prow Robot
bfb5c3781a Merge pull request #131794 from ffromani/e2e-serial-node-cpumanager-fix-lowcpu
e2e: node: always declare testcase CPU requirements
2025-05-28 11:36:16 -07:00
Francesco Romani
d7b6049099 e2e: node: always declare testcase CPU requirements
The PR https://github.com/kubernetes/kubernetes/pull/130274 rewrote the
cpumanager tests assuming there are always at least 4 online CPUs,
adding checks for the tests which require more.

We still have, and likely we will have for the time being, lanes
which run on machines with 2 online CPUs.

Thus, every test which either reserve cpus (--reserved-cpus) or run
pods with exclusive CPU allocation must declare the requisites
and skip if the machine don't provide them.

Signed-off-by: Francesco Romani <fromani@redhat.com>
2025-05-21 09:22:33 +02:00
Ed Bartosh
b9e2a16083 e2e_node: dra: test plugin registration retry
Adds a DRA e2e_node test to verify that the kubelet plugin manager
retries plugin registration when the GetInfo call fails, and
successfully registers the plugin once GetInfo succeeds.

This ensures correct recovery and registration behavior for
DRA plugins in failure scenarios.
2025-05-16 21:53:35 +03:00
Ed Bartosh
ec7e732cbc e2e: dra: move gomega matchers to dedicated package
Moved gomega matcher definitions from test-driver/app
to a new test-driver/gomega package.
2025-05-15 20:55:17 +03:00
Morten Torkildsen
e262cccf23 Cleanup after rebase 2025-05-12 16:00:07 +00:00
Morten Torkildsen
ece35e5882 Update DRA e2e test framework to allow publishing advanced ResourceSlices 2025-05-12 15:56:24 +00:00
Kubernetes Prow Robot
48fcf418ce Merge pull request #131691 from pohly/dra-e2e-labeling
DRA E2E: revise test labeling
2025-05-12 05:43:16 -07:00
Patrick Ohly
b09d034a57 DRA E2E: revise test labeling
We only need one special "DynamicResourceAllocation" feature for the optional
node support of DRA (plugin registration, CDI support in the container
runtime). For individual features, the automatic labeling through
WithFeatureGate is sufficient.

To find DRA-related tests in a label filter, instead of plain-text "DRA" a
"DRA" label now gets added.

This change depends on an update of the DRA jobs.
2025-05-09 11:33:04 +02:00
Francesco Romani
13bd0b4ee8 e2e: node: rewrite the sidecar related tests
rewrite the tests porting to the new layout and utilities.
We may add more cases and better integration in the future.

Signed-off-by: Francesco Romani <fromani@redhat.com>
2025-05-09 11:07:05 +02:00
Francesco Romani
f4265638be e2e: node: factor out reservedCPUs
now that we have a minimal BeforeEach (and let's keep it this way)
we can factor out the reservedCPUs setting, since it's the same
code for each testcase.

Signed-off-by: Francesco Romani <fromani@redhat.com>
2025-05-09 11:07:04 +02:00
Francesco Romani
a8c8b0987d e2e: node: dissolve skipIfNotEnoughAllocatableCPUs
reuse existing building blocks at the cost of
a tiny, non-nested BeforeEach (which is still OK)
and some targeted duplication.

Signed-off-by: Francesco Romani <fromani@redhat.com>
2025-05-09 11:07:04 +02:00
Francesco Romani
32d4724ab8 e2e: node: add comment about reserved CPU
Let's have a single general comment instead of
copypasting the same text all around the tests.

Signed-off-by: Francesco Romani <fromani@redhat.com>
2025-05-09 11:07:04 +02:00
Francesco Romani
daf2fc7100 e2e: node: rewrite multi-pod tests
rewrite tests which check with multiple pods.
We may extend the coverage later on.

Signed-off-by: Francesco Romani <fromani@redhat.com>
2025-05-09 11:07:04 +02:00
Francesco Romani
ccc662c228 e2e: node: initial multi-container tests
rewrite tests which exercise multiple container within the
same pod. Preserve the existing testcases, add more.

Note basic coverage for mixed pods - some containers requiring
exclusive CPUs, some not, was already added with the initial batch.

Signed-off-by: Francesco Romani <fromani@redhat.com>
2025-05-09 11:07:04 +02:00
Francesco Romani
2419d9ccc5 e2e: node: rewrite: multi-cpus single-container pods
We have tests which cover the case on which a pod
with a single container require multiple CPUs;
rewrite them preserving the testcases and actually
adding coverage.

Add and use stricter checks along the way.

Signed-off-by: Francesco Romani <fromani@redhat.com>
2025-05-09 11:07:04 +02:00
Francesco Romani
e4726719a7 e2e: node: rewrite more compatibility tests
Complete the rewrite the policy option compatibility tests,
rewriting the tests which check compatibility
between the `full-pcpus-only` and `distribute-cpus-across-numa`.

All testcases are preserved.

Signed-off-by: Francesco Romani <fromani@redhat.com>
2025-05-09 11:07:04 +02:00
Francesco Romani
74fda8c700 e2e: node: rewrite compatibility tests
Rewrite the policy option compatibility tests.
We start with the tests which check the compatibility
between the `full-pcpus-only` and `strict-cpu-reservation`
tests, because the former is the only GA option
at time of writing.

All testcases are preserved.

Signed-off-by: Francesco Romani <fromani@redhat.com>
2025-05-09 11:07:04 +02:00
Francesco Romani
dd3f9b6074 e2e: node: rewrite CFS quota tests
Rewrite the e2e cpumanager tests about CFS quota management.
All testcases are preserved.

Signed-off-by: Francesco Romani <fromani@redhat.com>
2025-05-09 11:07:04 +02:00
Francesco Romani
b9ce058ab6 e2e: node: rewrite strict-cpu-reservation tests
rewrite the cpumanager e2e tests for the
`strict-cpu-reservation` policy option to fit
into the new layout.

All testcases are preserved.

Signed-off-by: Francesco Romani <fromani@redhat.com>
2025-05-09 11:07:04 +02:00
Francesco Romani
3eb2e65fc3 e2e: node: rewrite cpumanager tests
Rewrite the cpumanager tests to make use of the lessons
learned, more modern idioms, remove obsolete assumptions
and in gneeral remove all the legacy which was accumulating
over the years.

The goal is to have a simpler, flatter and more maintenable
code layout, de-entangle the net of dependency,
making the tests more robust and easier to extend.

In short, this is all about maintainability. All the testcases
will be preserved, and few other can be added along the way.

Comments in the code will explain the code layout decisions
and tradeoff, and provide a good guide to add more tests
in the future.

Special care was added in order to maximize the isolation between
tests, at cost, in selected cases of a controlled and planned
code duplication.

Signed-off-by: Francesco Romani <fromani@redhat.com>
2025-05-09 11:07:04 +02:00
Adrian Moisey
e5ffec242a Bump CNI to 1.7.1 2025-05-04 20:27:09 +02:00
Kubernetes Prow Robot
0b8133816b Merge pull request #131477 from pohly/golangci-lint@v2
golangci-lint v2
2025-05-02 23:03:55 -07:00
Patrick Ohly
9bada79de1 DRA node test: fix useless gomega.Consistently
Passing a constant value to gomega.Consistently means that it will not re-check
while running.

Found by linter after removing the suppression rule for the check. It was
disabled earlier because of a bug in the linter.
2025-05-02 12:51:02 +02:00
Kubernetes Prow Robot
ea08d4df93 Merge pull request #128946 from jackfrancis/SetPVCVACName-eventually-gomega
test: don't panic during an Eventually retry loop
2025-04-29 09:17:55 -07:00
Kubernetes Prow Robot
5a630b7289 Merge pull request #131042 from pacoxu/adjust-metric-range
adjust container_spec_memory_limit_bytes e2e to range: ppc64le is less
2025-04-23 15:58:51 -07:00
Paco Xu
b141ac6a23 adjust container_spec_memory_limit_bytes e2e to range: ppc64le is 44*1024 less 2025-04-11 16:06:30 +08:00
Davanum Srinivas
d429c8b17d debug cpu_manager_test failure
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2025-03-24 19:15:38 -04:00
Kubernetes Prow Robot
62555cadc7 Merge pull request #130701 from roycaihw/psi-metrics
Surface Pressure Stall Information (PSI) metrics
2025-03-24 10:38:33 -07:00
Davanum Srinivas
a75cd2e0f4 Adjust metrics ranges to reflect additional CI job environments
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2025-03-23 20:35:01 -04:00
Kubernetes Prow Robot
37afe38abf Merge pull request #130997 from dims/fix-container_spec_memory_swap_limit_bytes-in-ci-cos-cgroupv1-containerd-node-e2e-ci-jobs
Fix container_spec_memory_swap_limit_bytes in ci-cos-cgroupv1-containerd-node-e2e CI jobs
2025-03-23 10:06:33 -07:00
Davanum Srinivas
2bd0481d2c Use established pattern for kubelet metrics url
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2025-03-22 07:44:01 -04:00
Davanum Srinivas
0486790592 Fix container_spec_memory_swap_limit_bytes in ci-cos-cgroupv1-containerd-node-e2e CI jobs
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2025-03-22 07:28:05 -04:00
Kevin Hannon
a237f429fc Revert "Separate SeparateDiskTests from eviction" 2025-03-21 12:29:30 -04:00
Haowei Cai
c86ff2339d Unit and E2E tests 2025-03-21 15:54:22 +00:00
Kubernetes Prow Robot
23dc170619 Merge pull request #130965 from pacoxu/revert-126794-addRegularContainerImgChangeE2E
Revert "Add e2e test for Regular Container image change"
2025-03-20 23:46:38 -07:00
Kubernetes Prow Robot
c029e2715e Merge pull request #128355 from lengrongfu/feat/add-log
add device-plugin-test e2e log
2025-03-20 20:46:31 -07:00
Paco Xu
2d7518df6d Revert "Add e2e test for Regular Container image change" 2025-03-21 11:01:52 +08:00
Kubernetes Prow Robot
d383020cc8 Merge pull request #130831 from ajaysundark/disable-swap-resize
disable in-place pod vertical scaling for swap enabled pods
2025-03-20 19:38:37 -07:00
Kubernetes Prow Robot
d4d79f039b Merge pull request #126213 from bitoku/kep2371-e2e
[KEP-2371] add test about container metrics from cadvisor
2025-03-20 19:38:31 -07:00
Kubernetes Prow Robot
838f3c0852 Merge pull request #130577 from KevinTMtz/pod-level-hugepages
[PodLevelResources] Pod Level Hugepage Resources
2025-03-20 15:34:38 -07:00
Kubernetes Prow Robot
a9d0f39b8f Merge pull request #126794 from dshebib/addRegularContainerImgChangeE2E
Add e2e test for Regular Container image change
2025-03-20 14:16:31 -07:00
Ajay Sundar Karuppasamy
a09cb22e4d disable in-place vertical pod scaling for non-restartable swappable containers 2025-03-20 20:43:18 +00:00
Kubernetes Prow Robot
48ba25a464 Merge pull request #127484 from haircommander/userns-off-e2e
e2e_node: add a test to verify kubelet fails to create pod if userns isn't supported
2025-03-20 13:08:32 -07:00
Kubernetes Prow Robot
6bc352f6a9 Merge pull request #130535 from ffromani/cpumanager-policy-options-ga
node: kep-2625: cpu manager policy options GA
2025-03-20 11:24:46 -07:00
Kevin Torres
7b38bff6ec Move pod level hugepage test from e2e to e2e node 2025-03-20 17:54:40 +00:00
Kevin Torres
fd50d9207f End to end tests for pod level hugepage resources 2025-03-20 17:54:40 +00:00
Peter Hunt
8b4aab5451 e2e_node: add a test to verify kubelet fails to create pod if userns isn't supported
and the pod requests a user namespace

Signed-off-by: Peter Hunt <pehunt@redhat.com>
2025-03-20 09:34:59 -04:00
Gunju Kim
657ccc3099 Ensure that the pod has the proper phase upon re-initialization
This fixes the pod with restartable init containers to have a proper
phase after the pod sandbox re-creation.

Currently, the `runtime.PodStatus` cannot retrieve the active container
statuses, which are the container statuses associated with the current
pod sandbox. This adds the `ActiveContainerStatuses` to
`runtime.PodStatus`, allowing it to include the container statuses of
the current pod sandbox, and fixes the kubelet to correctly set the pod
Phase to `Pending` when no active regular containers are present.
2025-03-20 17:38:41 +09:00
Francesco Romani
3c7ed00e22 node: kep-2625: cpu manager policy options GA
Move the support for CPUManager Policy Options to GA

Signed-off-by: Francesco Romani <fromani@redhat.com>
2025-03-20 08:31:32 +01:00
Kubernetes Prow Robot
ba742a9aec Merge pull request #129574 from p-shah256/imagefs-tests
Separate SeparateDiskTests from eviction
2025-03-19 20:12:33 -07:00