Commit Graph

16485 Commits

Author SHA1 Message Date
Kubernetes Prow Robot
ab78ad32d1 Merge pull request #136194 from bart0sh/PR216-add-signode-approvers-to-dra-owners
add SIG-Node approvers to DRA dirs
2026-01-27 20:15:52 +05:30
Davanum Srinivas
06bd2191ca Apparently some EC2 images we use do not have /proc/net/nf_conntrack
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2026-01-27 10:29:10 +00:00
Davanum Srinivas
65c981be7a test: cleanup from review
- Use netutils.IsIPv6(ip) instead of manual nil/To4 check
- Remove unnecessary ip.To16() call since IPv6 is already 16 bytes
- Remove ipFamily from grep pattern since IP format ensures correctness

Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2026-01-27 09:31:04 +00:00
Davanum Srinivas
27c59678f0 test: Fix KubeProxy CLOSE_WAIT test for IPv6 environments
The /proc/net/nf_conntrack file uses fully expanded IPv6 addresses
with leading zeros in each 16-bit group. For example:
  fc00:f853:ccd:e793::3 -> fc00:f853:0ccd:e793:0000:0000:0000:0003

Add expandIPv6ForConntrack() helper function to expand IPv6 addresses
to the format used by /proc/net/nf_conntrack before using them in
the grep pattern.

Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2026-01-27 00:35:25 +00:00
Kubernetes Prow Robot
3d544b9142 Merge pull request #136474 from ShaanveerS/netpol-revive-135706
Netpol: reduce e2e pod churn with agnhost porter
2026-01-26 20:59:59 +05:30
Kubernetes Prow Robot
e0cd8e3897 Merge pull request #136529 from dims/fix-kube-proxy-conntrack-test
test: Read /proc/net/nf_conntrack instead of using conntrack binary
2026-01-26 17:35:52 +05:30
Davanum Srinivas
7f2c4535c3 test: Read /proc/net/nf_conntrack instead of using conntrack binary
The distroless-iptables image no longer includes the conntrack binary
as of v0.8.7 (removed in kubernetes/release#4223 since kube-proxy no
longer needs it after kubernetes#126847).

Update the KubeProxy CLOSE_WAIT timeout test to read /proc/net/nf_conntrack
directly instead of using the conntrack command. The file contains the
same connection tracking data and is accessible from the privileged
host-network pod.

Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2026-01-26 07:42:07 +00:00
Mads Jensen
757647786d Remove redundant re-assignments in for-loops in test/{e2e,integration,utils}
The modernize forvar rule was applied. There are more details in this blog
post: https://go.dev/blog/loopvar-preview
2026-01-25 22:58:27 +01:00
Dan Winship
325c346659 Use a single container in all Netpol test pods
"agnhost porter" can listen on multiple ports, so there's no need to
run multiple containers.

Co-authored-by: ShaanveerS <shaanver.singh@gmail.com>
2026-01-25 08:13:43 +01:00
Davanum Srinivas
48f67b9656 Add timeout to ImagePullTest poll loop to prevent infinite hangs
ImagePullTest was using wait.PollUntilContextCancel which has no
timeout, causing tests to hang for hours when the expected container
state is never reached (e.g., ErrImageNeverPull).

Changed to wait.PollUntilContextTimeout with ContainerStatusRetryTimeout
(5 minutes), matching the pattern used by other tests in the same file.

Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2026-01-23 18:19:17 -05:00
Kubernetes Prow Robot
4c221cdc56 Merge pull request #133335 from bart0sh/PR190-pluginmanager-fix-handling-registration-failures
pluginmanager: fix handling registration failures
2026-01-23 23:35:29 +05:30
Kubernetes Prow Robot
01c430acd5 Merge pull request #136359 from dims/glibc-dns-testing-code-update
test: update code to use GlibcDnsTesting image
2026-01-22 21:55:31 +05:30
Davanum Srinivas
0183b5547a test: update code to use GlibcDnsTesting image
Updates the codebase to use the new glibc-dns-testing image which replaces
the deprecated jessie-dnsutils image.

This PR depends on the glibc-dns-testing image being available in the
registry (registry.k8s.io/e2e-test-images/glibc-dns-testing:2.0.0).

Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2026-01-22 08:39:46 -05:00
Patrick Ohly
dd78c81057 E2E framework ssh: avoid log spam in runSSHCommand
Emitting "error dialing" on each retry spams the test log output even when the
tests succeed.

Using Eventually also has other advantages (better failure message, support for
Gingko progress reports when a test is stuck).
2026-01-22 12:00:09 +01:00
Sotiris Salloumis
d9c3ec29ad Move getNodeAllocatableAndAvailableValues to framework
To allow use of this good method from future tests using
e2enode test framework.
2026-01-21 19:41:08 +01:00
Kubernetes Prow Robot
6da1e3e73d Merge pull request #135919 from rogowski-piotr/handle-claims-when-one-is-prepared
kubelet(dra): fix handling of multiple ResourceClaims when one is already prepared
2026-01-20 16:08:49 +05:30
Piotr Rogowski
9d1474f487 test(e2e/dra): add test for pod requesting allocated and new claims 2026-01-19 18:20:03 +00:00
Kubernetes Prow Robot
daf12cc0f3 Merge pull request #136297 from dims/update-agnhost-etcd-versions
Update agnhost to 2.61 and etcd to 3.6.7-0 in test manifests
2026-01-19 22:31:56 +05:30
Patrick Ohly
0c9c7ce40d E2E framework: fix nil pointer crash in TContext
Not all framework instances have a default namespace. TContext
crashed for those.

(cherry picked from commit 80cc14831e)

This got merged in https://github.com/kubernetes/kubernetes/pull/136140,
then reverted in https://github.com/kubernetes/kubernetes/pull/136151 and was
not brought back in https://github.com/kubernetes/kubernetes/pull/136156.
2026-01-19 10:51:24 +01:00
Kubernetes Prow Robot
e3684b7eb2 Merge pull request #136283 from pohly/dra-upgrade-downgrade-refactor-2
DRA tests: stop using deprecated ktesting functions
2026-01-19 13:47:11 +05:30
Patrick Ohly
fda3bdbd5e DRA tests: stop using deprecated ktesting functions
Some of them were already converted previously, but didn't take full advantage
of the more flexible methods: errors can be checked again by Gomega.
2026-01-19 08:27:15 +01:00
Davanum Srinivas
9dda58194a Update agnhost to 2.61 and etcd to 3.6.7-0 in test manifests
Update outdated image versions across test manifests and add tracking
to build/dependencies.yaml for version drift detection via zeitgeist:

- agnhost: 2.32/2.53/2.54/2.57 → 2.61 (latest)
- etcd: 3.2.24 → 3.6.7-0
- kitten/nautilus BASEIMAGE: agnhost 2.57 → 2.61

and added etcd statefulset reference to existing etcd entry.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2026-01-18 20:39:57 -05:00
Kubernetes Prow Robot
751ab64d57 Merge pull request #135837 from dgrisonnet/increase-resource-limits
test/e2e: fix pod resize test flakes on CRI-O/runc environments
2026-01-17 08:35:15 +05:30
Patrick Ohly
1847d5b1a2 DRA e2e+integration: test ResourceSlice controller
The "create 100 slices" E2E sometimes flaked with timeouts (e.g. 95 out of 100
slices created). It created too much load for an E2E test.

The same test now uses ktesting as API, which makes it possible to run it as
integration test with the original 100 slices and with more moderate 10 slices
as E2E test.

(cherry picked from commit c47ad64820)
2026-01-16 08:10:37 +01:00
Patrick Ohly
06d52b7702 CSI: revert introduction of context with cancellation
The traditional behavior of PodIO was to ignore the context. Changing that to
use the canceled context was risky because maybe some cleanup operation after
cancellation of the context wouldn't run anymore when it previously did.

However, this is theoretical. Tests all seemed to pass fine even without this
change.
2026-01-16 07:53:00 +01:00
Patrick Ohly
4a3d822689 DRA e2e: make driver deployment possible in Go unit tests
This leverages ktesting as wrapper around Ginkgo and testing.T to make all
helper code that is needed to deploy a DRA driver available to Go unit
tests and thus integration tests.

How to proceed with unifying helper code for integration and E2E testing is
open. This is just a minimal first step in that direction. Ideally, such
code should be in separate packages where usage of Ginkgo, e2e/framework
and gomega.Expect/Eventually/Consistently are forbidden.

While at it, the builder gets extended to make cleanup optional.
This will be needed for upgrade/downgrade testing with sub-tests.

(cherry picked from commit 7c7b1e1018)
2026-01-16 07:53:00 +01:00
Patrick Ohly
db36339d03 e2e framework: avoid memory overhead of ginkgo.GinkgoT
It turned out that ginkgo.GinkgoT() wasn't as cheap as it should have been (fix
coming in Ginkgo 2.27.5). When instantiated once for each framework.Framework
instance during init by all workers at the same time, the resulting spike in
overall memory usage within the container caused OOM killing of workers in Prow
jobs like ci-kubernetes-e2e-gci-gce with very tight memory limits.

Even with the upcoming fix in Ginkgo it makes sense to set the TB field only
while it really is needed, i.e. while a test runs. This is conceptually similar
to setting and unsetting the test namespace. It may help to flush out incorrect
usage of TB outside of tests.
2026-01-16 07:53:00 +01:00
Patrick Ohly
0d64cbff49 e2e framework: support creating TContext
This makes it possible to call helper packages which expect a TContext from E2E
tests.

The implementation uses GinkgoT as TB and supports registering cleanup
callbacks which expect a context. These callbacks then run with a context that
comes from ginkgo.DeferCleanup, just as if they had called that directly.

(cherry picked from commit 47b613eded)
2026-01-16 07:53:00 +01:00
Benjamin Elder
a60d114402 emeritus logicalhan, rest in peace
https://github.com/cncf/memorials/blob/main/han-kang.md
2026-01-15 12:18:02 -08:00
David Lynch
df66e4728b Back out "Remove image volume e2e test because CI has containerd < 2.1"
Original commit changeset: 71ddb98ae4

user: David Lynch <davite3@protonmail.com>
2026-01-14 12:36:03 +00:00
Ed Bartosh
5c77f56ae6 add SIG-Node approvers to DRA dirs 2026-01-13 11:52:29 +02:00
Anish Ramasekar
900a8030f3 test: fix kind local registry config for kms ci jobs
Signed-off-by: Anish Ramasekar <anish.ramasekar@gmail.com>
2026-01-12 12:59:14 -08:00
Patrick Ohly
e999d595b1 testing: partial revert of E2E + DRA upgrade/downgrade
Refactoring the DRA upgrade/downgrade testing such that it runs as Go test
depended on supporting ktesting in the E2E framework. That change worked during
presubmit testing, but broke some periodic jobs. Therefore the relevant commits
from https://github.com/kubernetes/kubernetes/pull/135664/commits get reverted:

c47ad64820 DRA e2e+integration: test ResourceSlice controller
047682908d ktesting: replace Begin/End with TContext.Step
de47714879 DRA upgrade/downgrade: rewrite as Go unit test
7c7b1e1018 DRA e2e: make driver deployment possible in Go unit tests
65ef31973c DRA upgrade/downgrade: split out individual test steps
47b613eded e2e framework: support creating TContext

The last one is what must have caused the problem, but the other commits depend
on it.
2026-01-11 09:55:17 +01:00
Patrick Ohly
80cc14831e E2E framework: fix nil pointer crash in TContext
Not all framework instances have a default namespace. TContext
crashed for those.
2026-01-09 16:23:11 +01:00
Kubernetes Prow Robot
26fd963327 Merge pull request #135664 from pohly/dra-upgrade-downgrade-refactor
DRA e2e: upgrade/downgrade refactor
2026-01-08 19:31:47 +05:30
Kubernetes Prow Robot
08ad958d0d Merge pull request #135774 from pohly/e2e-framework-ginkgo-wrappers
E2E framework: make usage of Ginkgo wrappers optional
2026-01-07 19:01:38 +05:30
Patrick Ohly
c47ad64820 DRA e2e+integration: test ResourceSlice controller
The "create 100 slices" E2E sometimes flaked with timeouts (e.g. 95 out of 100
slices created). It created too much load for an E2E test.

The same test now uses ktesting as API, which makes it possible to run it as
integration test with the original 100 slices and with more moderate 10 slices
as E2E test.
2026-01-07 14:11:33 +01:00
Patrick Ohly
7c7b1e1018 DRA e2e: make driver deployment possible in Go unit tests
This leverages ktesting as wrapper around Ginkgo and testing.T to make all
helper code that is needed to deploy a DRA driver available to Go unit
tests and thus integration tests.

How to proceed with unifying helper code for integration and E2E testing is
open. This is just a minimal first step in that direction. Ideally, such
code should be in separate packages where usage of Ginkgo, e2e/framework
and gomega.Expect/Eventually/Consistently are forbidden.

While at it, the builder gets extended to make cleanup optional.
This will be needed for upgrade/downgrade testing with sub-tests.
2026-01-07 14:11:33 +01:00
Patrick Ohly
e4ab523161 E2E framework: make usage of Ginkgo wrappers optional
Previously it was necessary to use the Ginkgo wrappers when
using any of the custom arguments like WithSlow(). Now the
hook within Ginkgo for modifying arguments is used such that
e.g. the original ginkgo.It also works.
2026-01-07 12:05:43 +01:00
Patrick Ohly
47d02070ba E2E: remove unnecessary trailing spaces in test names
The spaces are unnecessary because Ginkgo adds spaces automatically.

This was detected before only for tests using the wrapper functions,
now it also gets detected for ginkgo methods.
2026-01-07 12:05:43 +01:00
Patrick Ohly
47b613eded e2e framework: support creating TContext
This makes it possible to call helper packages which expect a TContext from E2E
tests.

The implementation uses GinkgoT as TB and supports registering cleanup
callbacks which expect a context. These callbacks then run with a context that
comes from ginkgo.DeferCleanup, just as if they had called that directly.
2026-01-05 13:45:03 +01:00
Patrick Ohly
1a866b8795 e2e framework: fix inconsistency in log output
Example:

    I1208 16:01:05.852628 243 upgradedowngrade_test.go:239] get source code version: bring up v1.34: cluster is running, use KUBECONFIG=/var/run/kubernetes/admin.kubeconfig to access it
    I1208 16:01:05.869679     243 reflector.go:446] "Caches populated" type="*v1.ServiceAccount" reflector="k8s.io/client-go/tools/watch/informerwatcher.go:162"

The first line is printed via framework.Logf, which is meant to emulate the
format used by the klog text logger in the second line. The difference is that
klog formats the pid with 7 characters, padding on the left with spaces.

Consistency trumps brevity here, so let's format exactly as in klog.
2026-01-05 13:45:03 +01:00
Kubernetes Prow Robot
9f68013b1e Merge pull request #135501 from shivamwayal37/fix/113359-win-snapshot-fs-size
Fix: Use Get-Volume for Windows snapshot size verification
2025-12-22 09:08:31 -08:00
Kubernetes Prow Robot
7d0b8f979c Merge pull request #135629 from jsafrane/selinux-fix-completed-pods
selinux: Fix the controller to ignore finished pods
2025-12-19 11:52:33 -08:00
Kubernetes Prow Robot
268bdbe214 Merge pull request #135836 from pohly/ginkgo-gomega-update
dependencies: ginkgo v2.27.3 + gomega v1.38.3
2025-12-19 08:36:39 -08:00
Jan Safranek
02d4c11b00 Added e2e tests with disabled SELinux
Added few tests with a CSI driver that does not support SELinux and has it
disabled in its CSIDriver instance
2025-12-19 14:45:38 +01:00
Patrick Ohly
db841afdbb dependencies: ginkgo v2.27.3 + gomega v1.38.3
This fixes some issues found in Kubernetes (data race in ginkgo CLI, gomega
formatting) and helps with diagnosing OOM killing in CI jobs (exit status of
processes).

The modified gomega formatting shows up in some of the output tests for the E2E
framework. They get updated accordingly.
2025-12-19 10:37:54 +01:00
hongkang
be9b3d5a46 Add e2e test for VolumeAttachment cleanup when CSIDriver AttachRequired changes
Signed-off-by: hongkang <mzhkcj50@gmail.com>
2025-12-19 15:56:33 +08:00
Damien Grisonnet
c29d27bc44 test/e2e: increase memory limits in pod resize tests
The pod resize e2e tests use memory limits as low as 20Mi for Guaranteed
QoS pods. On OpenShift/CRI-O, the container runtime (runc) runs inside
the pod's cgroup and requires ~20-22MB of memory during container
creation and restart operations. This causes intermittent OOM kills
when the pod's memory limit is at or below runc's memory footprint.

This issue does not occur on containerd-based clusters because
containerd's shim runs outside the pod's cgroup by default (ShimCgroup=""),
so runc's memory is not charged against the pod's limit.

Increase memory limits to provide sufficient headroom for runc:
- originalMem: 20Mi -> 35Mi
- reducedMem: 15Mi -> 30Mi
- increasedMem: 25Mi -> 40Mi

The test validates resize behavior, not minimal memory limits, so
larger values do not reduce test coverage.

Signed-off-by: Damien Grisonnet <dgrisonn@redhat.com>
2025-12-19 07:41:59 +01:00
Damien Grisonnet
315c38fb8a Revert "test/e2e: increase memory limits in pod resize tests"
This reverts commit a2cf7f770d.
2025-12-18 19:05:47 +01:00