Commit graph

135313 commits

Author SHA1 Message Date
Kubernetes Prow Robot
44ff6085cd
Merge pull request #136726 from dims/fix-containerd-ubuntu-dual-install
Fix install-containerd-ubuntu to skip apt when both versions specified
2026-02-04 06:30:36 +05:30
Kubernetes Prow Robot
cde1fe6a40
Merge pull request #133844 from pohly/invariants
E2E: check log output to detect DATA RACEs
2026-02-04 06:30:27 +05:30
Kubernetes Prow Robot
1861c1a072
Merge pull request #136601 from michaelasp/realFifoGA
Set RealFIFO to GA in 1.36
2026-02-04 05:32:34 +05:30
Kubernetes Prow Robot
c4f5cea36b
Merge pull request #135746 from richabanker/move-flagz
Move apiserver's flagz installation to genericapiserver alongside statusz
2026-02-04 05:32:27 +05:30
Davanum Srinivas
67043dca9f
disable unnecessary Ubuntu services during node bootstrap
Mask and stop services that compete with apt operations or are not
needed for Kubernetes nodes:

- apt-news.service/timer: fetches APT news, holds apt lock
- esm-cache.service: Ubuntu Pro cache updates
- snapd.service/socket: Snap package manager
- lxd-installer.socket: LXD container helper
- ubuntu-advantage.service: Ubuntu Pro auto-attach
- unattended-upgrades.service: automatic security updates
- motd-news.timer: MOTD news fetching
- update-notifier-motd.timer: "new Ubuntu version" checks
- update-notifier-download.timer: failed package retry

This addresses CI timeouts where apt-news.service running concurrently
with apt-get update caused the master node to take ~5 minutes for
package index downloads (vs ~5-9 seconds on worker nodes).

Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2026-02-03 16:49:06 -05:00
Davanum Srinivas
f81e280ca9
fix install-containerd-ubuntu to skip apt when both versions specified
when both UBUNTU_INSTALL_CONTAINERD_VERSION and UBUNTU_INSTALL_RUNC_VERSION
are set, skip apt entirely and download binaries directly from GitHub.
this avoids installing apt packages that get immediately overwritten.

Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2026-02-03 15:41:53 -05:00
Kubernetes Prow Robot
bc9c9f79ad
Merge pull request #136477 from everettraven/feature/liveness-probe-fails-on-loopback-cert-expiry
Add loopback certificate expiration health check
2026-02-04 00:58:28 +05:30
Kubernetes Prow Robot
13c031ffc8
Merge pull request #136715 from guettli/set-getProbeTimeoutSeconds-to-3
e2e tests netpol: Set getProbeTimeoutSeconds to 3
2026-02-03 23:58:35 +05:30
Kubernetes Prow Robot
c91e982433
Merge pull request #136489 from Ignoramuss/optionalorrequired-node
api: enable optionalorrequired linter for node API
2026-02-03 23:58:27 +05:30
Bryce Palmer
1d5082dd27 server/config: methods for adding healthz and livez health checks
Signed-off-by: Bryce Palmer <bpalmer@redhat.com>
2026-02-03 12:31:20 -05:00
Bryce Palmer
79aaabb40f bugfix: add loopback certificate expiration health check
so that configured liveness probes will fail
if the loopback certificate has expired,
forcing a restart.

Signed-off-by: Bryce Palmer <bpalmer@redhat.com>
2026-02-03 12:31:20 -05:00
Kubernetes Prow Robot
677c8ec05f
Merge pull request #136613 from tosi3k/cleanup-preemption
Decouple evaluation and execution in the preemption framework
2026-02-03 22:32:40 +05:30
Kubernetes Prow Robot
d50446099d
Merge pull request #136561 from DockToFuture/patch/NetworkUnavailable
Fix route controller condition update
2026-02-03 22:32:32 +05:30
Kubernetes Prow Robot
11e3294feb
Merge pull request #136685 from pohly/apimachinery-rbac-helper-oidc-data-race
RBAC helper: fix data race
2026-02-03 21:10:33 +05:30
Jordan Liggitt
af36d192c3 RBAC helper: fix data race
The verbs parameter slice might be shared between different rule instances and
gets sorted (= written), so we have to make a copy or (even better) also
de-duplicate as in pkg/apis/rbac/helpers.go.

More specifically, plugin/pkg/auth/authorizer/rbac/bootstrappolicy/policy.go
shares the Read and ReadWrite slices, causing:

    WARNING: DATA RACE
    Read at 0x000008e5e5b0 by goroutine 124:
      slices.insertionSortOrdered[go.shape.string]()
          /home/prow/go/src/k8s.io/kubernetes/_output/local/go/cache/mod/golang.org/toolchain@v0.0.1-go1.25.6.linux-amd64/src/slices/zsortordered.go:14 +0x126
      slices.pdqsortOrdered[go.shape.string]()
          /home/prow/go/src/k8s.io/kubernetes/_output/local/go/cache/mod/golang.org/toolchain@v0.0.1-go1.25.6.linux-amd64/src/slices/zsortordered.go:75 +0x6c4
      slices.Sort[go.shape.[]string,go.shape.string]()
          /home/prow/go/src/k8s.io/kubernetes/_output/local/go/cache/mod/golang.org/toolchain@v0.0.1-go1.25.6.linux-amd64/src/slices/sort.go:18 +0x64
      sort.Strings()
          /home/prow/go/src/k8s.io/kubernetes/_output/local/go/cache/mod/golang.org/toolchain@v0.0.1-go1.25.6.linux-amd64/src/sort/sort.go:181 +0xe
      k8s.io/kubernetes/pkg/apis/rbac/v1.(*PolicyRuleBuilder).Rule()
          /home/prow/go/src/k8s.io/kubernetes/pkg/apis/rbac/v1/helpers.go:98 +0x2c9
      k8s.io/kubernetes/pkg/apis/rbac/v1.(*PolicyRuleBuilder).RuleOrDie()
          /home/prow/go/src/k8s.io/kubernetes/pkg/apis/rbac/v1/helpers.go:65 +0x2f44
      k8s.io/kubernetes/plugin/pkg/auth/authorizer/rbac/bootstrappolicy.ClusterRoles()
          /home/prow/go/src/k8s.io/kubernetes/plugin/pkg/auth/authorizer/rbac/bootstrappolicy/policy.go:404 +0x2c13
    ...
    Previous write at 0x000008e5e5b0 by goroutine 123:
      slices.insertionSortOrdered[go.shape.string]()
          /home/prow/go/src/k8s.io/kubernetes/_output/local/go/cache/mod/golang.org/toolchain@v0.0.1-go1.25.6.linux-amd64/src/slices/zsortordered.go:15 +0x2f9
      slices.pdqsortOrdered[go.shape.string]()
          /home/prow/go/src/k8s.io/kubernetes/_output/local/go/cache/mod/golang.org/toolchain@v0.0.1-go1.25.6.linux-amd64/src/slices/zsortordered.go:75 +0x6c4
      slices.Sort[go.shape.[]string,go.shape.string]()
          /home/prow/go/src/k8s.io/kubernetes/_output/local/go/cache/mod/golang.org/toolchain@v0.0.1-go1.25.6.linux-amd64/src/slices/sort.go:18 +0x64
      sort.Strings()
          /home/prow/go/src/k8s.io/kubernetes/_output/local/go/cache/mod/golang.org/toolchain@v0.0.1-go1.25.6.linux-amd64/src/sort/sort.go:181 +0xe
      k8s.io/kubernetes/pkg/apis/rbac/v1.(*PolicyRuleBuilder).Rule()
          /home/prow/go/src/k8s.io/kubernetes/pkg/apis/rbac/v1/helpers.go:98 +0x2c9
      k8s.io/kubernetes/pkg/apis/rbac/v1.(*PolicyRuleBuilder).RuleOrDie()
          /home/prow/go/src/k8s.io/kubernetes/pkg/apis/rbac/v1/helpers.go:65 +0x2f44
      k8s.io/kubernetes/plugin/pkg/auth/authorizer/rbac/bootstrappolicy.ClusterRoles()
          /home/prow/go/src/k8s.io/kubernetes/plugin/pkg/auth/authorizer/rbac/bootstrappolicy/policy.go:404 +0x2c13

Seen in test/integration/apiserver/oidc.
2026-02-03 15:46:33 +01:00
Kubernetes Prow Robot
b23802b609
Merge pull request #136528 from bart0sh/PR219-sheduler_perf-add-implicit-extended-resources
DRA: add scheduler_perf benchmark for implicit resources
2026-02-03 19:18:32 +05:30
Antoni Zawodny
1eee34760d Decouple evaluation and execution in the preemption framework 2026-02-03 14:30:23 +01:00
Ed Bartosh
bf7aed2039 DRA: add scheduler_perf benchmark for implicit resources
Add ImplicitExtendedResource_25Classes performance configuration that
measures scheduling performance of the implicit extended resources.
2026-02-03 14:57:21 +02:00
Thomas Güttler
1c2e529295 e2e tests netpol: Set getProbeTimeoutSeconds to 3
Before tests sometimes failed randomly. For example:

> [It] [sig-network] Netpol NetworkPolicy between server and client should allow ingress access from updated namespace [Feature:NetworkPolicy]

Related: https://kubernetes.slack.com/archives/C09QYUH5W/p1770111316158039

Signed-off-by: Thomas Güttler <thomas.guettler@syself.com>

Update test/e2e/network/netpol/kubemanager.go

Co-authored-by: Antonio Ojea <antonio.ojea.garcia@gmail.com>
Signed-off-by: Thomas Güttler <thomas.guettler@syself.com>
2026-02-03 13:34:45 +01:00
Kubernetes Prow Robot
bfafa32d90
Merge pull request #136500 from atombrella/feature/modernize_checks_hints
linting: Enabling `modernize` rules as hints
2026-02-03 15:10:29 +05:30
Kubernetes Prow Robot
98c9fb858b
Merge pull request #136088 from mortent/PartitionableDevicesIntegrationTests
DRA: Add integration tests for Partitionable Devices
2026-02-03 14:16:36 +05:30
Kubernetes Prow Robot
e2ce7dfbce
Merge pull request #135788 from BenTheElder/etcd-tag
remove build tags from e2e internal unit test with etcd
2026-02-03 14:16:28 +05:30
Kubernetes Prow Robot
5655a0c19d
Merge pull request #136603 from 249043822/br003
Fix:NewUnmounter always returns error while deleting pod after node reboot
2026-02-03 11:12:26 +05:30
Kubernetes Prow Robot
b12d6a7f6b
Merge pull request #136476 from rohitkbc/master
Test: Add unit test for ParsePercentage
2026-02-03 03:14:28 +05:30
Kubernetes Prow Robot
f7ca45a969
Merge pull request #136530 from saschagrunert/fix-image-volume-symlink-test
Fix image volume subPath test symlink issue
2026-02-03 02:18:34 +05:30
Kubernetes Prow Robot
2ad7178741
Merge pull request #136522 from hoteye/kubelet-contextual-core
kubelet: migrate core sync path to contextual logging
2026-02-03 02:18:26 +05:30
Benjamin Elder
2d8a26a79c remove build tags from test e2e internal unittests 2026-02-02 11:35:53 -08:00
Morten Torkildsen
14c6d99b8e DRA: Add integration tests for Partitionable Devices 2026-02-02 18:21:23 +00:00
Mads Jensen
8f9038e7b2 Enabling many modernize linter rules as hints.
Follow-up to #136292
2026-02-02 18:01:26 +01:00
Kubernetes Prow Robot
a841d11420
Merge pull request #136619 from pohly/dra-allocator-promotion
DRA allocator: promote experimental -> incubating -> stable
2026-02-02 22:22:29 +05:30
Kubernetes Prow Robot
eba75de156
Merge pull request #136341 from Karthik-K-N/remove-deprecated-methods
Remove usage of deprecated functions from ktesting package
2026-02-02 19:28:31 +05:30
Kubernetes Prow Robot
cabdd596c2
Merge pull request #136683 from pohly/dra-integration-timeouts
DRA integration: increase timeout, II
2026-02-02 14:30:28 +05:30
Patrick Ohly
47c3b10e8d DRA integration: increase timeout, II
When running with race detection enabled several tests have suffered from
timeouts recently, with no obvious commit which could be blamed for this.
Let's use a common constant and make it larger.
2026-02-02 09:04:57 +01:00
张可10140699
bd7c78107f Fix:NewUnmounter always returns error while deleting pod after node reboot 2026-02-02 10:55:01 +08:00
Kubernetes Prow Robot
8c9c67c000
Merge pull request #136667 from palnabarun/update-go-12412-1256
Update publishing rules to reflect 1.25.6 and 1.24.12
2026-02-01 02:24:26 +05:30
Nabarun Pal
d85557c867 Update publishing rules to reflect 1.25.6 and 1.24.12
Signed-off-by: Nabarun Pal <pal.nabarun95@gmail.com>
2026-02-01 00:19:03 +05:30
Kubernetes Prow Robot
80833a543b
Merge pull request #136654 from dims/fix-local-e2e-cni-ptp
hack: switch local-up-cluster to ptp CNI for reliable DIND networking
2026-02-01 00:18:24 +05:30
Kubernetes Prow Robot
ff38eebb98
Merge pull request #136661 from atombrella/feature/fix_test_TestContainerMapCloneUnshared
Fix typo in `TestContainerMapCloneUnshared`
2026-01-31 17:00:24 +05:30
Ignoramuss
50eb238457 api: enable optionalorrequired linter for node API
Add missing +required marker to RuntimeClass.Spec in node/v1alpha1 and
enable the optionalorrequired linter for the node API group.
2026-01-30 17:24:42 -08:00
Kubernetes Prow Robot
07a697046f
Merge pull request #136638 from Jefftree/kcm-context
Add ctx to endpointslicemirroring controller
2026-01-31 05:30:24 +05:30
Davanum Srinivas
cfcb10ef8a
hack: switch local-up-cluster to ptp CNI for reliable DIND networking
The ci-kubernetes-local-e2e job has been flaky (~40-45% success rate)
with intermittent DNS/service connectivity failures. The root cause is
that bridge CNI requires br_netfilter and bridge-nf-call-iptables
kernel settings, which don't work reliably in docker-in-docker.

This switches to ptp (point-to-point) CNI, which creates direct veth
pairs between pods and host namespace. No bridge means no br_netfilter
dependency. This is the same approach KIND uses and it works reliably.

Changes:
- Replace bridge CNI with ptp CNI plugin
- Configure kernel network parameters for DIND (route_localnet,
  arp_ignore, ip_forward) required for ptp and iptables-based kube-proxy
- Remove CoreDNS pod delete/restart workaround from 1168b11875 that was
  masking the underlying networking issues (no longer needed)
- Add CoreDNS log capture during cleanup for debugging DNS issues

Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2026-01-30 16:25:05 -05:00
Kubernetes Prow Robot
de9ac07430
Merge pull request #128606 from pohly/ktesting-interrupt
ktesting: abort entire test suite on SIGINT + /dev/tty
2026-01-31 02:10:24 +05:30
Richa Banker
4e47bea7b0 Move flagz installation together with statusz's 2026-01-30 11:25:19 -08:00
Kubernetes Prow Robot
c04907b025
Merge pull request #135790 from 0x5457/fix/attach-reattach-message-missing-namespace
Fix missing namespace flag in attach reattach message
2026-01-30 23:36:31 +05:30
Kubernetes Prow Robot
49fe2ecce1
Merge pull request #135719 from Argh4k/waiting-pod-integration-test
Put pods preempted in WaitOnPermit to backoff queue
2026-01-30 23:36:24 +05:30
Mads Jensen
2a0916850a Fix typo in an if in TestContainerMapCloneUnshared 2026-01-30 19:01:50 +01:00
Kubernetes Prow Robot
22e1ea92cd
Merge pull request #136643 from ardaguclu/kubectl-kuberc-beta
Promote kubectl kuberc commands to beta
2026-01-30 22:20:32 +05:30
Kubernetes Prow Robot
c9df8cdf21
Merge pull request #135942 from aman4433/fix-apf-timeout-header-flake
test: skip APF header assertions after request timeout
2026-01-30 22:20:23 +05:30
Kubernetes Prow Robot
f4938574d4
Merge pull request #134830 from MatteoFari/matteofari/enable-jsontags-linter
enabled jsontags for kal and added exceptions because of non modifiable :Port
2026-01-30 17:55:42 +05:30
Patrick Ohly
36bcd43fca ktesting: abort entire test suite on SIGINT
When aborting an integration test with CTRL-C while it runs,
the current test fails and etcd exits. But additional tests were still being
started and the failed slowly because they couldn't connect to etcd.

It's better to fail additional tests in ktesting.Init when the test run has
already been interrupted.

While at it, also make it a bit more obvious that testing was interrupted by
logging it and update one comment about this and clean up the naming of
contexts in the code.

Example:

    $ go test -v ./test/integration/quota
    ...
    I1106 11:42:48.857162  147325 etcd.go:416] "Not using watch cache" resource="events.events.k8s.io"
    I1106 11:42:48.857204  147325 handler.go:286] Adding GroupVersion events.k8s.io v1 to ResourceManager
    W1106 11:42:48.857209  147325 genericapiserver.go:765] Skipping API events.k8s.io/v1beta1 because it has no resources.
    ^C

    INFO: canceling test context: received interrupt signal

    {"level":"warn","ts":"2024-11-06T11:42:48.984676+0100","caller":"embed/serve.go:160","msg":"stopping insecure grpc server due to error","error":"accept tcp 127.0.0.1:44177: use of closed network connection"}
    ...
    I1106 11:42:50.042430  147325 handler.go:142] kube-apiserver: GET "/apis/rbac.authorization.k8s.io/v1/clusterroles" satisfied by gorestful with webservice /apis/rbac.authorization.k8s.io/v1
        test_server.go:241: timed out waiting for the condition
    --- FAIL: TestQuota (11.45s)
    === RUN   TestQuotaLimitedResourceDenial
        quota_test.go:292: testing has been interrupted: received interrupt signal
    --- FAIL: TestQuotaLimitedResourceDenial (0.00s)
    === RUN   TestQuotaLimitService
        quota_test.go:418: testing has been interrupted: received interrupt signal
    --- FAIL: TestQuotaLimitService (0.00s)
    FAIL
2026-01-30 12:35:57 +01:00