Commit graph

135459 commits

Author SHA1 Message Date
Davanum Srinivas
550cc8645b
Move dump package from apimachinery to k8s.io/utils
Replace all imports of k8s.io/apimachinery/pkg/util/dump with
k8s.io/utils/dump across the repo. The apimachinery dump package
now contains deprecated wrapper functions that delegate to
k8s.io/utils/dump for backwards compatibility.

Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2026-02-12 07:34:19 -05:00
Kubernetes Prow Robot
65f09e605c
Merge pull request #136826 from alvaroaleman/bumpv0.32
Bump structured merge diff to v6.3.2
2026-02-11 00:08:13 +05:30
Kubernetes Prow Robot
e7f26c678a
Merge pull request #136339 from ffromani/deprecate-customcpucfsquota-fg-not-feature
move to GA the `CustomCPUCFSquota` feature gate (was: deprecate the FG,  not the feature)
2026-02-11 00:08:04 +05:30
Kubernetes Prow Robot
7f890ab7ad
Merge pull request #136802 from pohly/fix-data-race-refs-populaterefs
Fix data race in PopulateRefs by copying Items and AdditionalProperties
2026-02-10 23:16:00 +05:30
Kubernetes Prow Robot
2a9b8baab7
Merge pull request #136787 from ahmedtd/bump-ctb
Push ClusterTrustBundles v1beta1 deprecation to 1.37
2026-02-10 20:30:13 +05:30
Kubernetes Prow Robot
01b283ad45
Merge pull request #136907 from aojea/ipaddress_flake
fix flake on ipaddress allocator integration test
2026-02-10 19:30:01 +05:30
Antonio Ojea
2cfc90672a
fix flake on ipaddress allocator integration test
The test need to consider the time for the Delete operation to populate
the ipallocator informer, otherwise, it can happen the allocator fails
with a range full failing the test.

Co-authored-by: hiirrxnn <hiren2004sharma@gmail.com>
2026-02-10 10:34:47 +00:00
Kubernetes Prow Robot
59cddedb04
Merge pull request #136901 from Phaow/vac-fix
test: bring back the VAC roll-forward test
2026-02-10 15:46:05 +05:30
Kubernetes Prow Robot
467099411d
Merge pull request #136898 from carlory/kubeadm-ContainerRuntimeVersion-1-37
kubeadm:  bump the version in the ContainerRuntimeVersionCheck warning message from 1.36 to 1.37
2026-02-10 14:48:18 +05:30
Kubernetes Prow Robot
76b4a9019c
Merge pull request #136326 from bart0sh/PR218-migrate-kubelet_node_status-to-contextual-logging
Migrate kubelet_node_status* to contextual logging
2026-02-10 14:48:10 +05:30
Kubernetes Prow Robot
65b1000a7d
Merge pull request #135749 from novahe/fix-defer-latency
Fix: Incorrect duration metric recording incorrect values
2026-02-10 14:48:01 +05:30
Kubernetes Prow Robot
44dc4cb68c
Merge pull request #136888 from neolit123/revert-136130-kubeadm_use_newclientset
Revert "kubeadm: switch tests to NewClientset"
2026-02-10 13:00:07 +05:30
Kubernetes Prow Robot
b6f27f1993
Merge pull request #136856 from pohly/dra-integration-timeouts
DRA integration: bump timeouts to 1 minute
2026-02-10 12:59:59 +05:30
Penghao
e3f7eb38fa Revert "Mark VAC roll-forward test as flaky"
This reverts commit 085d23388a.
2026-02-10 14:39:39 +08:00
Kubernetes Prow Robot
0bb75334dd
Merge pull request #135464 from MikeSpreitzer/better-concurrency-test-margin
Relax the noise margin threshold in TestConcurrencyIsolation
2026-02-10 10:30:04 +05:30
Kubernetes Prow Robot
1955210d81
Merge pull request #134044 from mcallzbl/master
Replace deprecated sets.String with sets.Set[string] in apiserver
2026-02-10 10:29:57 +05:30
carlory
8eb3b65222
kubeadm: the preflight check ContainerRuntimeVersion validates if the installed container runtime supports the RuntimeConfig gRPC method. For older kubelet versions than 1.37, it will return a preflight warning.
Signed-off-by: carlory <baofa.fan@daocloud.io>
2026-02-10 10:30:12 +08:00
Kubernetes Prow Robot
7b0310aadd
Merge pull request #136820 from dims/update-otel-deps
Update OpenTelemetry dependencies to latest versions
2026-02-10 05:44:05 +05:30
Kubernetes Prow Robot
f693c45c4e
Merge pull request #136775 from atombrella/feature/activate_modernize_slicessort
Enable modernize/slicessort rule
2026-02-10 05:43:57 +05:30
Kubernetes Prow Robot
fc74562c38
Merge pull request #136808 from nmn3m/kubelet-contextual-logging
Update kubelet to use EventRecorderLogger.WithLogger() for contextual…
2026-02-10 02:31:58 +05:30
Kubernetes Prow Robot
09e1c9fe0e
Merge pull request #136455 from pohly/client-go-simpleclient-undeprecation
fake client-go: un-deprecate NewSimpleClientset
2026-02-10 01:33:59 +05:30
Patrick Ohly
e80da21868 fake client-go: un-deprecate NewSimpleClientset
NewSimpleClientset was marked as deprecated when NewClientset was
introduced. This has caused some confusion:
- Not all packages have NewClientset (https://github.com/kubernetes/kubernetes/issues/135980).
- Tests that work with NewSimpleClientset fail when
  switched to NewClientset (https://github.com/kubernetes/kubernetes/issues/136327)
  because of missing CRD support (https://github.com/kubernetes/kubernetes/issues/126850).

It doesn't seem burdensome to keep NewSimpleClientset around forever. Some unit
tests may even prefer to use it when they don't need server-side apply (less
overhead). Therefore there is no need to deprecate it.

This avoids churn in the eco system because contributors no longer create PRs
"because the linter complains about the usage of a deprecated function".
2026-02-09 20:09:42 +01:00
Kubernetes Prow Robot
139e78d88d
Merge pull request #136337 from pohly/dra-e2e-hostpath-image-selection
DRA E2E: use image utils to manage hostpath image
2026-02-10 00:02:02 +05:30
Lubomir I. Ivanov
aa082ab174
Revert "kubeadm: switch tests to NewClientset" 2026-02-09 20:28:21 +02:00
Kubernetes Prow Robot
e73221ce18
Merge pull request #136488 from thockin/fix_bad_arg_name_in_dv
Rename an argument in validation stack
2026-02-09 21:57:21 +05:30
Patrick Ohly
2238a33655 DRA integration: bump timeouts to 1 minute
The 30 second timeouts in binding condition testing recently flaked, probably
related to increasing parallelism in integration test jobs.
2026-02-09 13:21:13 +01:00
Kubernetes Prow Robot
a39c8201e9
Merge pull request #136423 from neolit123/1.36-remove-flex-volume-support-from-kubeadm
kubeadm: removed the built-in flex volume support
2026-02-09 14:07:21 +05:30
Francesco Romani
9dc40c8545 kubelet: api: validation: remove CustomCPUCFSQuotaPeriod setting
we moved the FG to default on, so we don't need to enable
it explictly anymore.

Signed-off-by: Francesco Romani <fromani@redhat.com>
2026-02-09 08:27:51 +01:00
Francesco Romani
9bc91a75d3 e2e: cpumanager: test for custom cpu cfs quota period
Add basic e2e test coverage for the CFSCPUPeriod toggle

Signed-off-by: Francesco Romani <fromani@redhat.com>
2026-02-09 08:27:51 +01:00
Francesco Romani
5a2578ce09 kubelet: promote the CustomCPUCFSQuotaPeriod to GA
Promote the CustomCPUCFSQuotaPeriod gate to GA, turning it enabled by
default. Short history of this feature so far:

As far as git and github history allows to reconstruct, this
feature was introduced without KEP/design doc process (kubernetes 1.12).
It was a double-opt-in feature: users set to first enable a FG to make
the kubelet honor a setting, then change a specific tunable to change
the behavior This is more like a “safeguard” FG
(Other noteworthy examples: `UnauthenticatedHTTP2DOSMitigation` or
`DisableCPUQuotaWithExclusiveCPUs`) rather than a KEP-driven feature gate

Major past events:
- introduced in: https://github.com/kubernetes/kubernetes/pull/63437
- Discussion about adding a FG: https://github.com/kubernetes/kubernetes/pull/63437#issuecomment-387828654
- The change was initially accepted as straightforward, but it was
  later discovered systemd had gaps, and the change was downgraded
  as experimental: https://github.com/kubernetes/kubernetes/pull/63437#issuecomment-391740566
- FG re-introduced because systemd acknowledged and fixed the gap,
  but the systemd rollout would take quite some time:
  https://github.com/kubernetes/kubernetes/pull/63437#issuecomment-407950436

There's a  gap, still relevant in 2026: missing e2e tests to move past alpha:
https://github.com/kubernetes/kubernetes/pull/63437#issuecomment-417674790

Other noteworthy work related to this feature:
- https://github.com/kubernetes/kubernetes/pull/94687
- https://github.com/kubernetes/kubernetes/pull/111520
- https://github.com/kubernetes/kubernetes/pull/129726
- https://github.com/kubernetes/kubernetes/pull/133845

Fix and modernize the related unit tests.

Signed-off-by: Francesco Romani <fromani@redhat.com>

fixup
2026-02-09 08:27:21 +01:00
Francesco Romani
ccb70a6577 kubelet: deprecate DisableCPUQuotaWithExclusiveCPUs
We missed the proper process initially, it should have
been set to deprecated from the beginning, to convey
this is a safety FG for a delicate, long needed fix
rather than a FG for a proper feature

Signed-off-by: Francesco Romani <fromani@redhat.com>
2026-02-09 08:25:56 +01:00
Kubernetes Prow Robot
97a2334637
Merge pull request #136778 from Jefftree/etcd-metrics-typo
Fix RecordStorageListMetrics comment
2026-02-09 10:31:08 +05:30
Kubernetes Prow Robot
918b5ac90b
Merge pull request #136840 from atombrella/feature/fmt_sprintf_unneeded
Remove unneeded use of fmt.Sprintf in test/{integration,e2e}
2026-02-09 00:53:08 +05:30
Mads Jensen
7883039b31 Remove unneeded use of fmt.Sprintf in test/{integration,e2e} 2026-02-08 14:34:13 +01:00
Davanum Srinivas
077dfc6175
Fix TestAPIServerTracing: update rpc.system to rpc.system.name
otelgrpc v0.65.0 upgraded to semconv v1.39.0, which renamed the
attribute key from "rpc.system" to "rpc.system.name". Update the
tracing integration test expectations to match.

Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2026-02-07 23:45:55 -05:00
Alvaro Aleman
f59cfe60ef Bump structured merge diff to v6.3.2
Diff: https://github.com/kubernetes-sigs/structured-merge-diff/compare/v6.3.1...v6.3.2

It's just one change that prevents a NPD when an embedded pointer to a
struct is encountered.
2026-02-07 13:49:48 -05:00
Kubernetes Prow Robot
669b1de008
Merge pull request #136767 from Sahil-4555/atomic-types-test
test: refactor to use atomic types
2026-02-07 22:13:08 +05:30
Davanum Srinivas
275adf8b04
Update OpenTelemetry dependencies to latest versions
Bump OpenTelemetry dependencies:
- go.opentelemetry.io/otel v1.39.0 → v1.40.0
- go.opentelemetry.io/otel/metric v1.39.0 → v1.40.0
- go.opentelemetry.io/otel/sdk v1.39.0 → v1.40.0
- go.opentelemetry.io/otel/trace v1.39.0 → v1.40.0
- go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.39.0 → v1.40.0
- go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.39.0 → v1.40.0
- go.opentelemetry.io/contrib/.../otelrestful v0.64.0 → v0.65.0
- go.opentelemetry.io/contrib/.../otelhttp v0.64.0 → v0.65.0
- go.opentelemetry.io/contrib/.../otelgrpc v0.63.0 → v0.65.0

Unpin otelgrpc: the nil TracerProvider panic (kubernetes#135865) that
required pinning at v0.63.0 is fixed in v0.65.0. Removed the
pinnedModules entry from unwanted-dependencies.json.

Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2026-02-07 09:21:51 -05:00
Kubernetes Prow Robot
d863fbe80b
Merge pull request #135335 from carlory/cleanup
[1.36] Remove feature gate HonorPVReclaimPolicy
2026-02-07 06:30:28 +05:30
Kubernetes Release Robot
a491db621b CHANGELOG: Update directory for v1.36.0-alpha.1 release 2026-02-06 22:38:29 +00:00
Kubernetes Prow Robot
a4437af6c6
Merge pull request #136621 from ermias19/fix-validatingadmissionpolicy-nil-panic
Fix validatingadmissionpolicy nil panic
2026-02-07 04:06:35 +05:30
Mads Jensen
ae8838f58a Fixes under staging. 2026-02-06 22:46:08 +01:00
Mads Jensen
95616cecda Use slices.Sort instead of sort.Slice.
There were only two instances of this in the entire code-base. Hence,
I have enabled the modernize rule/linter in golangci-lint.
2026-02-06 22:46:08 +01:00
Austin Abro
598922db75
feat(wait): introduce waitOptions.RunWaitContext() (#136781)
* run wait with context

Signed-off-by: Austin Abro <austinabro321@gmail.com>

* delete other comment

Signed-off-by: Austin Abro <austinabro321@gmail.com>

---------

Signed-off-by: Austin Abro <austinabro321@gmail.com>
2026-02-07 01:40:32 +05:30
Kubernetes Prow Robot
17810c6249
Merge pull request #136743 from ansilh/master
fix(kube-proxy): skip topology hints logging when no ready endpoints exist
2026-02-06 23:06:36 +05:30
Nour
dde1c5d8a6
Update kubelet to use EventRecorderLogger.WithLogger() for contextual logging when emitting events.
Signed-off-by: Nour <nurmn3m@gmail.com>
2026-02-06 19:29:40 +02:00
ansilh
440cfca4ef refactor(kube-proxy): remove redundant empty endpoints check in topologyModeFromHints
The len(endpoints) == 0 check is now redundant since the hasReadyEndpoints
check handles this case when the slice is empty, the loop executes zero
times, hasReadyEndpoints stays false, and returns "" via the same path.
2026-02-06 21:56:58 +05:30
ansilh
18f56fa7c7 fix(kube-proxy): skip topology hints logging when no ready endpoints exist
When all endpoints are non-ready (ready=false, serving=false, terminating=false),
the topologyModeFromHints function was incorrectly logging "Ignoring same-zone
topology hints for service since no hints were provided for zone" because the
boolean flags remained at their initial values after the loop skipped all
non-ready endpoints.

This fix adds tracking for whether any ready endpoints were processed and
returns early if none exist, avoiding misleading log messages.

Also adds a test case covering this scenario.
2026-02-06 21:46:05 +05:30
Patrick Ohly
ad7c5fda15 PopulateRefs unit test
The test fails on master with:

    WARNING: DATA RACE
    Read at 0x00c00038ccf8 by goroutine 10:
      k8s.io/apiserver/pkg/cel/openapi/resolver.populateRefs()
          /nvme/gopath/src/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/cel/openapi/resolver/refs.go:82 +0xb0a
      k8s.io/apiserver/pkg/cel/openapi/resolver.PopulateRefs()
          /nvme/gopath/src/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/cel/openapi/resolver/refs.go:37 +0x325
      k8s.io/apiserver/pkg/cel/openapi/resolver.TestPopulateRefs.func2()
          /nvme/gopath/src/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/cel/openapi/resolver/refs_test.go:99 +0x4f
      sync.(*WaitGroup).Go.func1()
          /nvme/gopath/go-1.25.2/src/sync/waitgroup.go:239 +0x5d

    Previous write at 0x00c00038ccf8 by goroutine 11:
      k8s.io/apiserver/pkg/cel/openapi/resolver.populateRefs()
          /nvme/gopath/src/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/cel/openapi/resolver/refs.go:89 +0xc1c
      k8s.io/apiserver/pkg/cel/openapi/resolver.PopulateRefs()
          /nvme/gopath/src/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/cel/openapi/resolver/refs.go:37 +0x325
      k8s.io/apiserver/pkg/cel/openapi/resolver.TestPopulateRefs.func3()
          /nvme/gopath/src/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/cel/openapi/resolver/refs_test.go:106 +0x3a
      sync.(*WaitGroup).Go.func1()
          /nvme/gopath/go-1.25.2/src/sync/waitgroup.go:239 +0x5d

    ...

    --- FAIL: TestPopulateRefs (0.00s)
        refs_test.go:115: read-only input schema got modified (- original, + modification):
              &spec.Schema{
              	VendorExtensible: {},
              	SchemaProps: spec.SchemaProps{
              		... // 22 identical fields
              		MinProperties: nil,
              		Required:      nil,
              		Items: &spec.SchemaOrArray{
              			Schema: &spec.Schema{
              				VendorExtensible: {},
              				SchemaProps: spec.SchemaProps{
            - 					ID: "",
            + 					ID: "item",
              					Ref: spec.Ref{
              						Ref: jsonreference.Ref{
              							... // 2 ignored fields
              							HasFullURL:      false,
            - 							HasURLPathOnly:  true,
            + 							HasURLPathOnly:  false,
              							HasFragmentOnly: false,
              							HasFileScheme:   false,
              							HasFullFilePath: false,
              						},
              					},
              					Schema:      "",
              					Description: "",
              					... // 31 identical fields
              				},
              				SwaggerSchemaProps: {},
              				ExtraProps:         nil,
              			},
              			Schemas: nil,
              		},
              		AllOf:      nil,
              		OneOf:      nil,
              		AnyOf:      nil,
              		Not:        nil,
              		Properties: {"a": {SchemaProps: {Ref: {Ref: {HasURLPathOnly: true, ...}}}}},
              		AdditionalProperties: &spec.SchemaOrBool{
              			Allows: false,
              			Schema: &spec.Schema{
              				VendorExtensible: {},
              				SchemaProps: spec.SchemaProps{
            - 					ID: "",
            + 					ID: "additional",
              					Ref: spec.Ref{
              						Ref: jsonreference.Ref{
              							... // 2 ignored fields
              							HasFullURL:      false,
            - 							HasURLPathOnly:  true,
            + 							HasURLPathOnly:  false,
              							HasFragmentOnly: false,
              							HasFileScheme:   false,
              							HasFullFilePath: false,
              						},
              					},
              					Schema:      "",
              					Description: "",
              					... // 31 identical fields
              				},
              				SwaggerSchemaProps: {},
              				ExtraProps:         nil,
              			},
              		},
              		PatternProperties: nil,
              		Dependencies:      nil,
              		... // 2 identical fields
              	},
              	SwaggerSchemaProps: {},
              	ExtraProps:         nil,
              }
        testing.go:1617: race detected during execution of test
    FAIL
2026-02-06 16:24:40 +01:00
tennisleng
317c96a062 Fix data race in PopulateRefs by copying Items and AdditionalProperties
The populateRefs function was modifying result.Items.Schema and
result.AdditionalProperties.Schema directly. Since result is a shallow
copy of the input schema, these pointer fields still reference the
original shared structures, causing a data race when multiple goroutines
call PopulateRefs concurrently.

Fix by creating copies of Items and AdditionalProperties before
modifying their Schema field.
2026-02-06 16:23:41 +01:00