Commit Graph

29123 Commits

Author SHA1 Message Date
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
Kubernetes Prow Robot
62277ef5d2 Merge pull request #136199 from saschagrunert/master
Fix credential test by setting `AlwaysVerify` policy
2026-01-14 08:49:43 +05:30
Sascha Grunert
1abe2c4860 Fix credential test by setting AlwaysVerify policy
The test expects unauthorized pods to be blocked from accessing cached
private images, but the default policy (NeverVerifyPreloadedImages)
allows access to any image previously pulled by the kubelet.

Configure the kubelet to use AlwaysVerify policy for this test, which
enforces credential checks for all images regardless of pull history.

Signed-off-by: Sascha Grunert <sgrunert@redhat.com>
2026-01-13 13:52:43 +01:00
Kubernetes Prow Robot
9f6977db54 Merge pull request #136086 from richabanker/graduate-watch_list_duration_seconds-BETA
Graduate watch_list_duration_seconds to BETA
2026-01-13 15:29:37 +05:30
Kubernetes Prow Robot
d68d48073f Merge pull request #136112 from danwinship/network-1.36-cleanup
Drop TopologyAwareHints and ServiceTraficDistribution feature gates
2026-01-13 07:43:36 +05:30
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
Kubernetes Prow Robot
210881f0f0 Merge pull request #135485 from saschagrunert/fix-device-plugin-termination-grace-period
Fix device plugin admission failure after container restart
2026-01-12 22:24:22 +05:30
Kubernetes Prow Robot
af6c58193c Merge pull request #135369 from saschagrunert/serial-tests
test: Fix image credential pulls test node scheduling
2026-01-12 22:24:13 +05:30
Kubernetes Prow Robot
b89a81cfcb Merge pull request #136167 from Karthik-K-N/update-funcs
DRA: remove deprecated test method usage, fix linter hints
2026-01-12 18:04:39 +05:30
Sascha Grunert
172a65c71d Fix device plugin admission failure after container restart
When a container restarts before kubelet restarts, containerMap has
multiple entries (old exited + new running). GetContainerID() may
return the exited container, causing the running check to fail. Fixed
by checking if ANY container for the pod/name is running.

Also filter terminal pods from podresources since they no longer
consume resources, and fix test error handling to avoid exiting
Eventually immediately on transient errors.

Signed-off-by: Sascha Grunert <sgrunert@redhat.com>
2026-01-12 11:55:25 +01:00
Kubernetes Prow Robot
6df7e09ad9 Merge pull request #135911 from ShaanveerS/add-udp-agnhost
Add UDP and explicit TCP support to agnhost porter
2026-01-12 16:16:06 +05:30
Karthik Bhat
8962f08815 Remove deprecated test methods 2026-01-12 16:15:04 +05:30
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
ShaanveerS
d1867b4864 agnhost porter add support UDP and SERVE_TCP_PORT 2026-01-10 05:47:25 +01:00
Kubernetes Prow Robot
5151096d1f Merge pull request #136096 from pacoxu/patch-14
Update error message expectation in criproxy_test
2026-01-10 05:47:47 +05:30
Kubernetes Prow Robot
c71eec3c3f Merge pull request #135687 from yashsingh74/cni-bump
Update CNI plugins to v1.9.0
2026-01-10 04:57:41 +05:30
Richa Banker
8d2838a53e Graduate watch_list_duration_seconds to BETA 2026-01-09 13:37:20 -08:00
Kubernetes Prow Robot
da22735138 Merge pull request #136041 from richabanker/update-metrics-docs-1.35
Update metrics docs 1.35
2026-01-10 02:13:41 +05:30
Dan Winship
f278b47ecd Drop TopologyAwareHints and ServiceTraficDistribution feature gates 2026-01-09 12:42:34 -05:00
Kubernetes Prow Robot
98e6935d43 Merge pull request #136140 from pohly/e2e-framework-tcontext-fix
E2E framework: fix nil pointer crash in TContext
2026-01-09 23:09:41 +05:30
Kubernetes Prow Robot
c68de67df3 Merge pull request #136132 from pohly/ktesting-default-verbosity
ktesting: avoid increasing default verbosity
2026-01-09 22:17:50 +05:30
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
Patrick Ohly
36a95a05eb ktesting: avoid increasing default verbosity
Bumping to 5 is useful in unit tests. Those tend to not produce less output and
ideally use per-test output, so we end up keeping only the output of failed
tests where increased verbosity also in CI runs is useful.

But ktesting now also gets imported into e2e test binaries through the
framework. There the increased verbosity is apparently causing OOM killing in
some jobs which previously worked fine.

Long term we need a better solution than simply disabling the verbosity
change. We could modify each unit test to call SetDefaultVerbosity, but that's
tedious. Perhaps an env variable? It cannot be a command line flag because not
all unit tests accept `-v`.
2026-01-09 14:54:09 +01:00
Kubernetes Prow Robot
407b1de3bf Merge pull request #136076 from kannon92/fix-flake-mutable-job
[flake] wait for job suspended condition for JobMutable test cases
2026-01-09 16:39:39 +05:30
Kevin Hannon
2a9c44b329 wait for job suspended condition 2026-01-08 15:57:00 -05:00
Kubernetes Prow Robot
e551ea5ea5 Merge pull request #133678 from mortent/AllocatorPerfImprovements
DRA: Avoid unnecessary work in allocator
2026-01-09 01:19:41 +05:30
Morten Torkildsen
9562aa8ba5 DRA: Avoid unnecessary work in allocator 2026-01-08 16:52:44 +00: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
Paco Xu
6cbfd72c15 Update error message expectation in criproxy_test 2026-01-08 15:56:14 +08:00
Kubernetes Prow Robot
97bd924010 Merge pull request #134162 from zeqian-meng/update-npb-ep-image
Upgrade Debian and NPB for npb-ep e2e test
2026-01-08 13:21:38 +05:30
Kubernetes Prow Robot
8e4ba87939 Merge pull request #135689 from KasimVali2207/add-probe-stress-tests
Add stress tests for gRPC, HTTP, and TCP liveness probesAdd probe stress tests
2026-01-08 04:57:45 +05:30
Kubernetes Prow Robot
3619b0c8aa Merge pull request #135189 from haircommander/proc-e2e-node
e2e_node: update proc mount test to correctly handle baseline PSA
2026-01-08 04:57:37 +05:30
Kubernetes Prow Robot
817f68f75f Merge pull request #135377 from harche/dra_flake_test
Fix race condition in DRA health e2e test pod status update
2026-01-08 03:01:46 +05:30
Peter Hunt
da695e7b78 e2e_node: update proc mount test to correctly handle baseline PSA
Signed-off-by: Peter Hunt <pehunt@redhat.com>
2026-01-07 15:59:26 -05:00
Kubernetes Prow Robot
2eb312a14f Merge pull request #136066 from serathius/watchcache-cleanup-watch-without-rv
Cleanup WatchFromStorageWithoutResourceVersion feature gate
2026-01-07 22:33:41 +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
4e6cf3ca0c ktesting: shorter error logging in WithError
Gomega formats errors by first showing Error() (already has all information
after WithError) and then again by dumping the error struct, which is redundant
in this case. We can avoid the latter by providing a GomegaString
implementation which returns nothing.
2026-01-07 14:11:33 +01:00
Patrick Ohly
01765f4a41 ktesting: more flexible Eventually/Consistently
Being able to call arbitrary functions is useful, even if it means giving up
some compile-time checking. Because we now use reflection,
Eventually/Consistently can be methods.
2026-01-07 14:11:33 +01:00
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
047682908d ktesting: replace Begin/End with TContext.Step
Manually pairing Being with End is too error prone to be useful. It had the
advantage of keeping variables created between them visible to the following
code, but that doesn't justify using those calls.

By using a callback we can achieve a few things:

- Code using it automatically shadows the parent tCtx, thus enforcing
  that within a code block the tCtx with step is used consistently.
- The code block is clearly delineated with curly braces.
- When the code block ends, the unmodified parent tCtx is automatically
  in scope again.

Downsides:

- Extra boilerplate for the anonymous function.
  Python's `with tCtx.Step(...) as tCtx: ` would be nicer.
  As an approximation of that `for tCtx := range tCtx.Step(...)` was
  tried with `Step` returning an iterator, but that wasn't very idiomatic.
- Variables created inside the code block are not visible outside of it.
2026-01-07 14:11:33 +01:00
Patrick Ohly
de47714879 DRA upgrade/downgrade: rewrite as Go unit test
tCtx.Run and sub-tests make it much simpler to separate the different steps
than with Ginkgo because unless a test runs tCtx.Parallel (which we don't do
here), everything runs sequentially in a deterministic order.

Right now we get:

    ...
        localupcluster.go:285: I1210 12:24:22.067524] bring up v1.34: stopping kubelet
        localupcluster.go:285: I1210 12:24:22.067548] bring up v1.34: stopping kube-scheduler
        localupcluster.go:285: I1210 12:24:22.067570] bring up v1.34: stopping kube-controller-manager
        localupcluster.go:285: I1210 12:24:22.067589] bring up v1.34: stopping kube-apiserver
    --- PASS: TestUpgradeDowngrade (94.78s)
        --- PASS: TestUpgradeDowngrade/after-cluster-creation (2.07s)
            --- PASS: TestUpgradeDowngrade/after-cluster-creation/core_DRA (2.05s)
            --- PASS: TestUpgradeDowngrade/after-cluster-creation/ResourceClaim_device_status (0.02s)
        --- PASS: TestUpgradeDowngrade/after-cluster-upgrade (4.10s)
            --- PASS: TestUpgradeDowngrade/after-cluster-upgrade/core_DRA (4.09s)
            --- PASS: TestUpgradeDowngrade/after-cluster-upgrade/ResourceClaim_device_status (0.01s)
        --- PASS: TestUpgradeDowngrade/after-cluster-downgrade (1.24s)
            --- PASS: TestUpgradeDowngrade/after-cluster-downgrade/core_DRA (1.21s)
            --- PASS: TestUpgradeDowngrade/after-cluster-downgrade/ResourceClaim_device_status (0.02s)
    PASS

It's even possible to use `-failfast` and
e.g. `-run=TestUpgradeDowngrade/after-cluster-creation/core_DRA`: `go test` then
runs everything up to that sub-test or any failing sub-test, then stops and
cleans up.
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
Marek Siarkowicz
fd2083450a Cleanup WatchFromStorageWithoutResourceVersion feature gate 2026-01-07 13:57:11 +01:00
Kubernetes Prow Robot
21f7c3ff68 Merge pull request #135777 from serathius/init-hook-default
Enable WatchCacheInitializationPostStartHook by default
2026-01-07 17:31:46 +05:30
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
Richa Banker
de68e0ae8b Update metrics docs list for v1.35 2026-01-06 09:25:56 -08:00
Harshal Patil
1e71a25950 Fix race condition in DRA health e2e test pod status update
Signed-off-by: Harshal Patil <12152047+harche@users.noreply.github.com>
2026-01-05 14:13:40 -05:00
Patrick Ohly
65ef31973c DRA upgrade/downgrade: split out individual test steps
This approach with collecting results from callbacks in a main ginkgo.It and
using them as failures in separate ginkgo.It callbacks might be the best that
can be done with Ginkgo.

A better solution is probably Go unit tests with sub-tests.
2026-01-05 13:45:03 +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