Commit graph

3595 commits

Author SHA1 Message Date
Kevin Hannon
eb2193e797
pytorch workloads are used instead of tensor flow 2026-07-10 16:03:41 -04:00
kubernetes-prow[bot]
52d1be1a1e
Merge pull request #140375 from yuanwang04/restart-pod-cpu-tests
Fix resource limit for cpu manager test
2026-07-09 22:34:38 +00:00
kubernetes-prow[bot]
ab82b2520c
Merge pull request #140267 from sohankunkerkar/fix-memoryqos-burstable-effective-low
Fix burstable memory.low being ineffective due to missing ancestor coverage
2026-07-09 20:58:40 +00:00
Yuan Wang
6e802a8041 Fix resource limit for cpu manager test 2026-07-09 18:52:19 +00:00
kubernetes-prow[bot]
b9afdfd3c0
Merge pull request #140259 from karunsehwag/fix/standalone-test-startime-nil-panic
e2e_node: fix nil pointer panic in StandaloneMode restart test
2026-07-08 20:14:47 +00:00
Sergey Kanzhelev
9f03af0709 Revert "Merge pull request #140260 from dlanov/harden-probe-stress-test"
This reverts commit 5b7016e5d0, reversing
changes made to c71291f0c9.
2026-07-08 11:23:23 -07:00
kubernetes-prow[bot]
5b7016e5d0
Merge pull request #140260 from dlanov/harden-probe-stress-test
Harden probe stress test container state checks
2026-07-07 19:43:06 +00:00
Karun Choudhary
4d5895858a e2e_node: fix nil pointer panic in StandaloneMode restart test
getPodFromStandaloneKubelet returns (nil, err) when the kubelet's
/pods endpoint is transiently unreachable, which happens briefly
after a kubelet restart. The post-restart Eventually block
dereferenced pod.Status.StartTime before checking err, so a
transient failure caused a panic instead of a retry.

Reorder the assertions to check err first and guard StartTime
against nil, matching the pattern already used earlier in the
same test and elsewhere in this file.

Ref kubernetes/kubernetes issue 139469

Signed-off-by: Karun Choudhary <karunchoudhary2000@gmail.com>
2026-07-08 00:49:59 +05:30
kubernetes-prow[bot]
a1f910169d
Merge pull request #138452 from SergeyKanzhelev/cgroupreconciliation
e2e_node tests for cgroup reconciliation
2026-07-07 16:54:31 +00:00
Sohan Kunkerkar
817ffd197d Fix burstable memory.low being ineffective due to missing ancestor coverage 2026-07-07 01:20:37 -04:00
Sergey Kanzhelev
ae875a861b e2e_node tests for cgroup reconciliation 2026-07-07 00:49:19 +00:00
Dennis Lanov
040d5fd8d4 Harden probe stress test container state checks
Signed-off-by: Dennis Lanov <dennis.lanov@gmail.com>
2026-07-06 15:16:41 -05:00
Kevin Hannon
62284a4815
Mark newly NodeConformance-tagged resize/restart/device-plugin tests as Slow
PR #140023 added framework.WithNodeConformance() to three SIGDescribe
blocks (PLR Pod InPlace Resize, Pod InPlace Resize Init Container,
and Device
Plugin Failures Pod Status). ci-kubernetes-node-e2e-containerd focuses
on [NodeConformance] and only skips Flaky/Slow/Serial, so these tests
started running there unconditionally and pushed the job's runtime
from ~35m to ~55-67m, close to its 65m timeout.

Add framework.WithSlow() to the same blocks so the job's existing
skip="[Flaky]|[Slow]|[Serial]" filter excludes them again.
2026-07-03 14:45:03 -04:00
Yuan Wang
1ea0c1de81 Add e2e test for resource manager on RestartAllContainers 2026-07-01 20:59:47 +00:00
kubernetes-prow[bot]
7e7ca37be9
Merge pull request #139837 from SergeyKanzhelev/task-kubelet-dump-config-startup
Dump full config on kubelet startup instead of command line arguments
2026-06-30 20:52:31 +00:00
kubernetes-prow[bot]
98a9db3fd4
Merge pull request #138127 from jingczhang/hugepages-aware-eviction
Make the eviction signal hugepages aware.
2026-06-29 19:34:10 +00:00
kubernetes-prow[bot]
deeef5029e
Merge pull request #140023 from kannon92/fix/label-inplace-resize-tests
Label FeatureGate-only e2e tests with proper Feature labels
2026-06-26 20:14:40 +00:00
Kevin Hannon
202d469db3
Label FeatureGate-only e2e tests with proper Feature labels
Tests using only framework.WithFeatureGate() produce [FeatureGate:X] in
their test names, which is not matched by the skip regex [Feature:.+]
used in the unlabelled node e2e job. When these feature gates graduated
to Beta (default=true) in 1.36, the tests started executing in the
unlabelled job instead of being self-skipped at runtime, causing
timeouts.

Add feature.InPlacePodVerticalScaling to:
- pod_level_resources_resize.go (PLR Pod InPlace Resize)
- pod_resize.go (Pod InPlace Resize Init Container)

Add feature.ContainerRestartRules to:
- container_restart_policy.go (both SIGDescribe blocks)

Add feature.DevicePlugin to:
- device_plugin_failures_pod_status_test.go
2026-06-26 14:04:04 -04:00
Jing C. Zhang (EXT-Nokia)
7727b841ab Assert node memory capacity is unchanged by hugepage-aware eviction 2026-06-26 14:01:21 -04:00
Jing Zhang
df355236d5 Make the eviction signal hugepages aware.
Signed-off-by: Jing Zhang <jing.c.zhang.ext@nokia.com>
2026-06-25 13:39:15 -04:00
kubernetes-prow[bot]
fbef17bc5f
Merge pull request #139870 from dims/cadvisor-lib
kubelet: depend on github.com/google/cadvisor/lib
2026-06-25 16:46:29 +00:00
Sergey Kanzhelev
b35604484c Dump full config on kubelet startup instead of command line arguments 2026-06-22 22:20:57 -07:00
kubernetes-prow[bot]
11ea3c2a46
Merge pull request #139896 from pohly/e2e-node-artifacts-default
E2E node: consider ARTIFACTS env variable for results dir
2026-06-21 13:53:36 +00:00
Patrick Ohly
8eed364890 E2E node: bump to -v4 for remote testing
The hard-coded verbosity in `make test-e2e-node` is 4
(17e2eda611/hack/make-rules/test-e2e-node.sh (L248)).
Pre-pending -v4 emulates that behavior, with the difference that an explicit
-v passed by the caller (typically kubetest2) could be used to override it.
2026-06-21 12:43:07 +02:00
Patrick Ohly
fcc5d50fde E2E node: consider ARTIFACTS env variable for results dir
`make test-e2e-node` sets the -results-dir based on the ARTIFACTS Prow job env
variable. When e2e_node.test gets invoked directly, it should do the same,
otherwise JUnit and log files are not captured for the job.
2026-06-21 11:57:09 +02:00
Davanum Srinivas
f451aa0762
kubelet: depend on github.com/google/cadvisor/lib
Migrate the kubelet (and the kube-proxy conntrack helper) off the full github.com/google/cadvisor module onto the lean github.com/google/cadvisor/lib: repoint info/v1+info/v2 type usage to lib/model and the manager/fs/cache/etc. consumers to lib/*; regenerate the cadvisor.Interface mocks; keep the kubelet-pinned cAdvisor global flags via lib/cadvisorflags.

go.mod: require + replace github.com/google/cadvisor/lib (=> the dims/cadvisor/lib fork for now, until lib is tagged) and drop the full github.com/google/cadvisor module entirely; keep github.com/containerd/containerd/api at v1.11.0 (matching upstream master); add github.com/google/cadvisor to unwanted-dependencies.json unwantedModules so the full module cannot be re-vendored.

test/e2e_node: the one remaining consumer of the full module -- the node-e2e ResourceCollector, which used the v2 HTTP client (client/v2) + v2 API types (info/v2) -- now scrapes the standalone cAdvisor pod's /api/v2.1/stats directly over HTTP+JSON, so test/e2e_node depends on no cAdvisor package. No change to the kubelet's stats surfaces.
2026-06-20 17:27:16 -04:00
Kubernetes Prow Robot
17e2eda611
Merge pull request #139745 from ngopalak-redhat/ngopalak/fix_is_xfs
Ensure is_xfs evaluates to true in quota tests
2026-06-20 14:19:38 +05:30
Francesco Romani
f0b952f2a1
e2e: node: consolidate more createPodSync calls
fix the missing instance which escaped the fix in
f7bd739f22

Signed-off-by: Francesco Romani <fromani@redhat.com>
2026-06-18 17:20:33 +02:00
Neeraj Krishna Gopalakrishna
0a36086243 Ensure is_xfs evaluates to true in quota tests
Signed-off-by: Neeraj Krishna Gopalakrishna <ngopalak@redhat.com>
2026-06-18 09:39:38 +05:30
Kubernetes Prow Robot
9d6e94a40d
Merge pull request #139741 from bart0sh/PR241-kubelet-podresources-utils-fix-contextual-todos
kubelet/podresources, kubelet/util/manager: propagate logger/context
2026-06-15 22:25:35 +05:30
Ed Bartosh
80e8baa8b8 kubelet/podresources: pass context to GetV1*Client
Replace context.TODO() with a context parameter passed by callers.
2026-06-15 13:13:51 +03:00
Kubernetes Prow Robot
57110af20d
Merge pull request #129079 from Tal-or/smtalignment_error
staticpolicy:smtalign: count for pre-allocated cpus for container
2026-06-15 14:27:23 +05:30
Talor Itzhak
e8e3fb93ee e2e:node: consider pre-allocated CPUs
This test verifies that pods with pre-allocated CPUs (from the checkpoint file)
are not rejected after kubelet restart when SMT alignment is enabled.
Regression test for the fix where the container presence check was moved
before the SMT alignment check.

The key is to request enough CPUs so that if pre-allocated CPUs are not
counted, the SMT alignment check would fail due to insufficient available
physical CPUs.

Calculate the maximum SMT-aligned CPUs we can request
We need to request most of the allocatable CPUs to trigger the bug.

Signed-off-by: Talor Itzhak <titzhak@redhat.com>
2026-06-14 12:17:32 +03:00
Kubernetes Prow Robot
79751b17da
Merge pull request #137278 from humblec/update-npd-v1.35.2
Update node-problem-detector to v1.35.2 and remove addon manifests
2026-06-11 20:26:42 +05:30
Kubernetes Prow Robot
3841ba06c2
Merge pull request #139530 from QiWang19/cleanuppod-grace-period
Set short termination grace period for test pods in MemoryQoS tests
2026-06-11 08:04:49 +05:30
Humble Devassy Chirammal
05033bc8ca Update node-problem-detector to v1.35.2 and remove addon manifests
Update node-problem-detector from v1.34.0 to v1.35.2 and remove all
related addon manifests and install logic that is no longer needed:

- Update version in build/dependencies.yaml, test/e2e_node/image_list.go
  and test/kubemark/resources/hollow-node_template.yaml.
- Remove cluster/addons/node-problem-detector/ entirely. No e2e tests
  depend on these manifests: e2e_node tests create NPD pods inline and
  GCE standalone mode runs NPD as a systemd service.
- Remove install-node-problem-detector function and DEFAULT_NPD_* vars
  from cluster/gce/gci/configure.sh along with the conditional that
  invoked it, since NPD is no longer installed as a standalone binary
  via this script.
- Remove the setup-addon-manifests calls for node-problem-detector from
  cluster/gce/gci/configure-helper.sh since the source directory no
  longer exists.
- Remove stale refPaths in build/dependencies.yaml that pointed to the
  deleted addon files.

Signed-off-by: Humble Devassy Chirammal <humble.devassy@gmail.com>
2026-06-10 14:04:57 +05:30
Qi Wang
82e38acb67 Set short termination grace period for test pods in MemoryQoS tests 2026-06-09 13:38:34 -04:00
Sergey Kanzhelev
d74b5907d5 builder pattern in cri client 2026-06-09 09:24:06 -07:00
HirazawaUi
e79d1a4271 Fix flaking e2e_node tests 2026-06-07 15:11:57 +08:00
Kubernetes Prow Robot
a0afe51e25
Merge pull request #139129 from pohly/e2e-node-update-local
E2E node: enable using release archives for periodic jobs, simplified
2026-06-03 22:09:47 +05:30
Patrick Ohly
de2d13b27e e2e_node: support pre-built binaries
This is not usable through "make test-e2e-node", which (while feasible) would
be a bit pointless because the Kubernetes source could would still be needed
for the make rules.

Instead, "kubetest2 noop -test=node" gets extended to invoke `e2e_node.test
remote` with flags that tell e2e_node.test where to find the binaries and
flags that were provided by the caller of kubetest2.
2026-06-03 10:32:48 +02:00
Patrick Ohly
2d574790a6 e2e_node: fix log output
fmt.Printf lacked the trailing newline and is inconsistent with other output,
which uses klog.
2026-06-03 08:34:56 +02:00
Patrick Ohly
6ba4d21765 e2e_node: multiplex different commands in e2e_node.test
The additional commands (mounter, gcp-credentials-provider) are needed for E2E
node testing. This change makes e2e_node.test entirely self-contained.

Copying the commands' code into separate packages is temporary and only done to
avoid touching them while it is still unclear whether this approach will work
out.

Besides avoiding changes to the build rules, bundling the functionality also has a
slight size advantage: the size of e2e_node.test increases by 10KB, whereas
the other two separate commands would add 10MB.
2026-06-03 08:34:56 +02:00
Patrick Ohly
071c858417 e2e_node: invoke make once for all targets
The caller does not need to enable or disable CGO explicitly, the build rules
do that automatically:

    $ make WHAT="cmd/kubelet cluster/gce/gci/mounter"
    +++ [0515 17:02:56] Building go targets for linux/amd64
        k8s.io/kubernetes/cluster/gce/gci/mounter (static)
        k8s.io/kubernetes/cmd/kubelet (non-static)

BuildGo builds the same targets as before. BuildTargets gets changed
to accept a list of targets from the caller, which is a more useful
package API.
2026-06-03 08:34:56 +02:00
Kubernetes Prow Robot
3c47d576e5
Merge pull request #137620 from Karthik-K-N/remove-hardcoded-volpath
test: Replace hardcoded kubelet volume paths with TestContext.KubeletRootDir in node e2e tests
2026-06-03 08:05:43 +05:30
Kubernetes Prow Robot
ec15ec6d09
Merge pull request #139377 from sohankunkerkar/fix-memoryqos-high-rollback
kubelet: clear stale memory.high on containers when MemoryQoS is disabled
2026-06-01 21:34:50 +05:30
Francesco Romani
9d9fd50e15 node: e2e: remove tests referring disable CPU quota
The DisableCPUQuotaWithExclusiveCPUs FG is now locked to true,
so we can remove all the tests referring to it.
Some of them were backward compatibility tests - no longer
needed if the FG is locked;
some other tests explicitly set the FG to true - no longer
needed either as the default is true and can't be changed anymore.

Signed-off-by: Francesco Romani <fromani@redhat.com>
2026-06-01 09:51:23 +02:00
Davanum Srinivas
bf37c18d74
e2e: node: cpumanager: don't set the locked DisableCPUQuotaWithExclusiveCPUs gate to false
DisableCPUQuotaWithExclusiveCPUs is locked to its default (true) since v1.37, so any KubeletConfiguration that sets it to false is rejected and crash-loops the kubelet at startup. configureCPUManagerInKubelet wrote the gate unconditionally and the field defaults to false, so every CPU Manager test that reconfigured the kubelet hit it. Only set the gate when true, and skip the "CFS quota can be disabled" block that exercised the false path.

Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2026-05-30 21:47:39 -04:00
Sohan Kunkerkar
0e5d54a29a kubelet: clear stale memory.high on containers when MemoryQoS is disabled
Signed-off-by: Sohan Kunkerkar <sohank2602@gmail.com>
2026-05-29 23:46:50 -04:00
hoteye
9c85877613 kubelet: pass logger into container ID parsing
Pass a logger into ParseContainerID instead of creating a klog.TODO inside the helper. This lets kubelet, prober, and node e2e call sites use their available contextual logger when container ID parsing fails.
2026-05-27 10:08:32 +08:00