Commit Graph

55171 Commits

Author SHA1 Message Date
Kubernetes Prow Robot
800a58b7c5 Merge pull request #137456 from liggitt/go126
Update go.mod to go 1.26, fix 1.26 vet errors
2026-03-06 10:58:23 +05:30
Kubernetes Prow Robot
68f0b37edc Merge pull request #137420 from richabanker/statusz-installation
Fix registration for statusz and flagz in apiserver, kubelet
2026-03-06 10:58:17 +05:30
Kubernetes Prow Robot
3dceb579f7 Merge pull request #137473 from jpbetz/fix-set-transform
Fix SetTransform to correctly override per-informer transforms
2026-03-06 09:58:16 +05:30
Joe Betz
a8c551e627 Fix test 2026-03-05 21:19:25 -05:00
KunWuLuan
9c99d5f6c0 Test that scheduler transform is set as expected in newPodInformer 2026-03-05 21:19:25 -05:00
Kubernetes Prow Robot
4915f3f8b3 Merge pull request #137304 from aaron-prindle/fieldsv1-encapsulation
refactor: fieldsv1 encapsulation via accessors and deprecation of direct "Raw" field usage
2026-03-06 06:50:17 +05:30
Richa Banker
426bb7cded Fix auth registration for statusz and flagz
Co-authored-by: Jordan Liggitt <jordan@liggitt.net>
2026-03-05 16:31:27 -08:00
Jordan Liggitt
45900a1deb Fix vet error 2026-03-05 18:11:02 -05:00
Kubernetes Prow Robot
c7d60d6c03 Merge pull request #137154 from ndixita/plr-ippr-cleanup
Clean up code to consolidate similar types
2026-03-06 04:36:24 +05:30
Aaron Prindle
e57b3a74f3 refactor: update in-tree FieldsV1 consumers to use format-specific accessors 2026-03-05 22:23:05 +00:00
Kubernetes Prow Robot
fa55f54739 Merge pull request #137363 from tallclair/reinspect
Replace PLEG watch conditions
2026-03-06 02:00:26 +05:30
Kubernetes Prow Robot
2a41bb390e Merge pull request #136759 from pravk03/ndf-guaranteedQos-fix
Remove `GuaranteedQoSPodCPUResize` declared feature
2026-03-06 02:00:18 +05:30
Kubernetes Prow Robot
b5e83c2d21 Merge pull request #136762 from HarshalNeelkamal/client-ca-reload
Introduce a kubelet configuration that reloads ClientCA in TLSConfig
2026-03-06 00:46:25 +05:30
Kubernetes Prow Robot
c6f70e3a38 Merge pull request #136399 from tico88612/feat/storage-metric-beta
Rename metric `volume_operation_total_errors` to `volume_operation_errors_total`
2026-03-06 00:46:18 +05:30
Rita Zhang
c4f88de33e Move DRAAdminAccess feature to GA (#137373)
* Move DRAAdminAccess feature to GA

Signed-off-by: Rita Zhang <rita.z.zhang@gmail.com>

* address comments

Signed-off-by: Rita Zhang <rita.z.zhang@gmail.com>

---------

Signed-off-by: Rita Zhang <rita.z.zhang@gmail.com>
2026-03-05 23:42:21 +05:30
Omer Aplatony
3799fc9942 Add unit tests for HPA metrics (#136670)
* Add unit tests for HPA metrics

Signed-off-by: Omer Aplatony <omerap12@gmail.com>

* removed mock monitor

Signed-off-by: Omer Aplatony <omerap12@gmail.com>

* fmt

Signed-off-by: Omer Aplatony <omerap12@gmail.com>

* spelling

Signed-off-by: Omer Aplatony <omerap12@gmail.com>

* lint

Signed-off-by: Omer Aplatony <omerap12@gmail.com>

* lint

Signed-off-by: Omer Aplatony <omerap12@gmail.com>

---------

Signed-off-by: Omer Aplatony <omerap12@gmail.com>
2026-03-05 19:10:26 +05:30
Kubernetes Prow Robot
fbe2820983 Merge pull request #136944 from brejman/kep-5732-tas-placement-generation-phase
Prepare workload scheduling cycle for placement simulation
2026-03-05 16:48:19 +05:30
Kubernetes Prow Robot
8bd1505fc0 Merge pull request #137108 from pohly/logtools-update
golangci-lint: bump to logtools v0.10.1
2026-03-05 10:14:16 +05:30
Harshal Neelkamal
40d8705d28 Introduce a kubelet-server configuration that allows reloading ClientCA in TLSConfig 2026-03-05 02:04:08 +00:00
Praveen Krishna
8af985c4fa fix: Remove GuaranteedQoSPodCPUResize declared feature 2026-03-04 21:17:44 +00:00
Kubernetes Prow Robot
cfc79e6d64 Merge pull request #137408 from dims/disable-hard-fail-on-deadcode-elimination-script-for-go-1.26
Disable hard fail on deadcode-elimination script for 1.26
2026-03-05 02:24:27 +05:30
Kubernetes Prow Robot
8275484dcf Merge pull request #137297 from atombrella/feature/pkg_forvar_modernize
Remove redundant variable re-assignment in for-loops under pkg
2026-03-05 00:28:20 +05:30
Davanum Srinivas
4513498be1 Disable hard fail on deadcode-elimination script for 1.26
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2026-03-04 10:54:32 -05:00
xigang
9d10b1f799 refactor: remove unused desiredStateOfWorld parameter from DetermineVolumeAction
Signed-off-by: xigang <wangxigang2014@gmail.com>
2026-03-04 22:01:43 +08:00
Kubernetes Prow Robot
bd3c97fbd8 Merge pull request #137355 from lukaszwojciechowski/fix-cpuset-creation
cpumanager: Replace cpuset.CPUSet{} with cpuset.New() for proper initialization
2026-03-04 18:04:29 +05:30
Kubernetes Prow Robot
9d7dda7186 Merge pull request #137245 from atombrella/feature/slices_contains_pkg_controller
Update `pkg/controller` to use slices.Contains
2026-03-04 18:04:20 +05:30
Patrick Ohly
b895ce734f golangci-lint: bump to logtools v0.10.1
This fixes a bug that caused log calls involving `klog.Logger` to not be
checked.

As a result we have to fix some code that is now considered faulty:

    ERROR: pkg/controller/serviceaccount/tokens_controller.go:382:1: A function should accept either a context or a logger, but not both. Having both makes calling the function harder because it must be defined whether the context must contain the logger and callers have to follow that. (logcheck)
    ERROR: func (e *TokensController) generateTokenIfNeeded(ctx context.Context, logger klog.Logger, serviceAccount *v1.ServiceAccount, cachedSecret *v1.Secret) ( /* retry */ bool, error) {
    ERROR: ^
    ERROR: pkg/controller/storageversionmigrator/storageversionmigrator.go:299:1: A function should accept either a context or a logger, but not both. Having both makes calling the function harder because it must be defined whether the context must contain the logger and callers have to follow that. (logcheck)
    ERROR: func (svmc *SVMController) runMigration(ctx context.Context, logger klog.Logger, gvr schema.GroupVersionResource, resourceMonitor *garbagecollector.Monitor, toBeProcessedSVM *svmv1beta1.StorageVersionMigration, listResourceVersion string) (err error, failed bool) {
    ERROR: ^
    ERROR: pkg/proxy/node.go:121:3: logging function "Error" should not use format specifier "%q" (logcheck)
    ERROR: 		klog.FromContext(ctx).Error(nil, "Timed out waiting for node %q to exist", nodeName)
    ERROR: 		^
    ERROR: pkg/proxy/node.go:123:3: logging function "Error" should not use format specifier "%q" (logcheck)
    ERROR: 		klog.FromContext(ctx).Error(nil, "Timed out waiting for node %q to be assigned IPs", nodeName)
    ERROR: 		^
    ERROR: pkg/scheduler/backend/queue/scheduling_queue.go:610:1: A function should accept either a context or a logger, but not both. Having both makes calling the function harder because it must be defined whether the context must contain the logger and callers have to follow that. (logcheck)
    ERROR: func (p *PriorityQueue) runPreEnqueuePlugin(ctx context.Context, logger klog.Logger, pl fwk.PreEnqueuePlugin, pInfo *framework.QueuedPodInfo, shouldRecordMetric bool) *fwk.Status {
    ERROR: ^
    ERROR: pkg/scheduler/framework/plugins/dynamicresources/extendeddynamicresources.go:286:1: A function should accept either a context or a logger, but not both. Having both makes calling the function harder because it must be defined whether the context must contain the logger and callers have to follow that. (logcheck)
    ERROR: func (pl *DynamicResources) deleteClaim(ctx context.Context, claim *resourceapi.ResourceClaim, logger klog.Logger) error {
    ERROR: ^
    ERROR: pkg/scheduler/framework/plugins/dynamicresources/extendeddynamicresources.go:499:1: A function should accept either a context or a logger, but not both. Having both makes calling the function harder because it must be defined whether the context must contain the logger and callers have to follow that. (logcheck)
    ERROR: func (pl *DynamicResources) waitForExtendedClaimInAssumeCache(
    ERROR: ^
    ERROR: pkg/scheduler/framework/plugins/dynamicresources/extendeddynamicresources.go:528:1: A function should accept either a context or a logger, but not both. Having both makes calling the function harder because it must be defined whether the context must contain the logger and callers have to follow that. (logcheck)
    ERROR: func (pl *DynamicResources) createExtendedResourceClaimInAPI(
    ERROR: ^
    ERROR: pkg/scheduler/framework/plugins/dynamicresources/extendeddynamicresources.go:592:1: A function should accept either a context or a logger, but not both. Having both makes calling the function harder because it must be defined whether the context must contain the logger and callers have to follow that. (logcheck)
    ERROR: func (pl *DynamicResources) unreserveExtendedResourceClaim(ctx context.Context, logger klog.Logger, pod *v1.Pod, state *stateData) {
    ERROR: ^
    ERROR: pkg/scheduler/framework/runtime/batch.go:171:1: A function should accept either a context or a logger, but not both. Having both makes calling the function harder because it must be defined whether the context must contain the logger and callers have to follow that. (logcheck)
    ERROR: func (b *OpportunisticBatch) batchStateCompatible(ctx context.Context, logger klog.Logger, pod *v1.Pod, signature fwk.PodSignature, cycleCount int64, state fwk.CycleState, nodeInfos fwk.NodeInfoLister) bool {
    ERROR: ^
    ERROR: staging/src/k8s.io/component-base/featuregate/feature_gate.go:890:4: Additional arguments to Info should always be Key Value pairs. Please check if there is any key or value missing. (logcheck)
    ERROR: 			logger.Info("Warning: SetEmulationVersionAndMinCompatibilityVersion will change already queried feature", "featureGate", feature, "oldValue", oldVal, newVal)
    ERROR: 			^
    ERROR: test/images/sample-device-plugin/sampledeviceplugin.go:108:2: logging function "Info" should not use format specifier "%s" (logcheck)
    ERROR: 	logger.Info("pluginSocksDir: %s", pluginSocksDir)
    ERROR: 	^
    ERROR: test/images/sample-device-plugin/sampledeviceplugin.go:123:2: logging function "Info" should not use format specifier "%s" (logcheck)
    ERROR: 	logger.Info("CDI_ENABLED: %s", cdiEnabled)
    ERROR: 	^

While waiting for this to merge, another call was added which also doesn't
follow conventions:

    ERROR: pkg/kubelet/kubelet.go:2454:1: A function should accept either a context or a logger, but not both. Having both makes calling the function harder because it must be defined whether the context must contain the logger and callers have to follow that. (logcheck)
    ERROR: func (kl *Kubelet) deletePod(ctx context.Context, logger klog.Logger, pod *v1.Pod) error {
    ERROR: ^

Contextual logging has been beta and enabled by default for several releases
now. It's mostly just a matter of wrapping up and declaring it GA. Therefore
the calls which directly call WithName or WithValues (always have an effect)
are left as-is instead of converting them to use the klog wrappers (support
disabling the effect). To allow that, the linter gets reconfigured to not
complain about this anymore, anywhere.

The calls which would have to be fixed otherwise are:

    ERROR: pkg/kubelet/cm/dra/claiminfo.go:170:11: function "WithName" should be called through klogr.LoggerWithName (logcheck)
    ERROR: 	logger = logger.WithName("dra-claiminfo")
    ERROR: 	         ^
    ERROR: pkg/kubelet/cm/dra/healthinfo.go:45:11: function "WithName" should be called through klogr.LoggerWithName (logcheck)
    ERROR: 	logger = logger.WithName("dra-healthinfo")
    ERROR: 	         ^
    ERROR: pkg/kubelet/cm/dra/healthinfo.go:89:11: function "WithName" should be called through klogr.LoggerWithName (logcheck)
    ERROR: 	logger = logger.WithName("dra-healthinfo")
    ERROR: 	         ^
    ERROR: pkg/kubelet/cm/dra/healthinfo.go:157:11: function "WithName" should be called through klogr.LoggerWithName (logcheck)
    ERROR: 	logger = logger.WithName("dra-healthinfo")
    ERROR: 	         ^
    ERROR: pkg/kubelet/cm/dra/manager.go:175:12: function "WithName" should be called through klogr.LoggerWithName (logcheck)
    ERROR: 	logger := klog.FromContext(ctx).WithName("dra-manager")
    ERROR: 	          ^
    ERROR: pkg/kubelet/cm/dra/manager.go:239:12: function "WithName" should be called through klogr.LoggerWithName (logcheck)
    ERROR: 	logger := klog.FromContext(ctx).WithName("dra-manager")
    ERROR: 	          ^
    ERROR: pkg/kubelet/cm/dra/manager.go:593:12: function "WithName" should be called through klogr.LoggerWithName (logcheck)
    ERROR: 	logger := klog.FromContext(ctx).WithName("dra-manager")
    ERROR: 	          ^
    ERROR: pkg/kubelet/cm/dra/manager.go:781:12: function "WithName" should be called through klogr.LoggerWithName (logcheck)
    ERROR: 	logger := klog.FromContext(context.Background()).WithName("dra-manager")
    ERROR: 	          ^
    ERROR: pkg/kubelet/cm/dra/manager.go:898:12: function "WithName" should be called through klogr.LoggerWithName (logcheck)
    ERROR: 	logger := klog.FromContext(ctx).WithName("dra-manager")
    ERROR: 	          ^
    ERROR: pkg/kubelet/cm/dra/manager_test.go:1638:15: function "WithName" should be called through klogr.LoggerWithName (logcheck)
    ERROR: 				logger := klog.FromContext(streamCtx).WithName(st.Name())
    ERROR: 				          ^
    ERROR: pkg/kubelet/cm/dra/plugin/dra_plugin.go:77:12: function "WithName" should be called through klogr.LoggerWithName (logcheck)
    ERROR: 	logger := klog.FromContext(ctx).WithName("dra-plugin")
    ERROR: 	          ^
    ERROR: pkg/kubelet/cm/dra/plugin/dra_plugin.go:108:12: function "WithName" should be called through klogr.LoggerWithName (logcheck)
    ERROR: 	logger := klog.FromContext(ctx).WithName("dra-plugin")
    ERROR: 	          ^
    ERROR: pkg/kubelet/cm/dra/plugin/dra_plugin.go:161:12: function "WithName" should be called through klogr.LoggerWithName (logcheck)
    ERROR: 	logger := klog.FromContext(ctx).WithName("dra-plugin")
    ERROR: 	          ^
    ERROR: staging/src/k8s.io/dynamic-resource-allocation/resourceslice/tracker/tracker.go:695:14: function "WithValues" should be called through klogr.LoggerWithValues (logcheck)
    ERROR: 			logger := logger.WithValues("device", deviceID)
    ERROR: 			          ^
    ERROR: test/integration/apiserver/watchcache_test.go:42:54: function "WithName" should be called through klogr.LoggerWithName (logcheck)
    ERROR: 	etcd0URL, stopEtcd0, err := framework.RunCustomEtcd(klog.FromContext(ctx).WithName("etcd0"), "etcd_watchcache0", etcdArgs)
    ERROR: 	                                                    ^
    ERROR: test/integration/apiserver/watchcache_test.go:47:54: function "WithName" should be called through klogr.LoggerWithName (logcheck)
    ERROR: 	etcd1URL, stopEtcd1, err := framework.RunCustomEtcd(klog.FromContext(ctx).WithName("etcd1"), "etcd_watchcache1", etcdArgs)
    ERROR: 	                                                    ^
    ERROR: test/integration/scheduler_perf/scheduler_perf.go:1149:12: function "WithName" should be called through klogr.LoggerWithName (logcheck)
    ERROR: 		logger = logger.WithName(tCtx.Name())
    ERROR: 		         ^
2026-03-04 12:08:18 +01:00
Bartosz
09379fbba7 Remove test for unhandled case.
Assume placement will always contain nodes that are present in the
snapshot
2026-03-04 10:11:57 +00:00
Bartosz
1140b62b68 Update fwk.Placement type 2026-03-04 09:48:31 +00:00
Kubernetes Prow Robot
f82c373b69 Merge pull request #137283 from LarytheLord/docs/envvar-c-identifier-wording-51187
docs(api): clarify env var key constraints for env-from fields
2026-03-04 07:24:23 +05:30
Kubernetes Prow Robot
e08e598df0 Merge pull request #137291 from everettraven/upstream/dv/maxLength-fixup
[Declarative Validation] Bring `k8s:maxLength` tag in line with OpenAPI `maxLength` validation semantics
2026-03-04 05:20:27 +05:30
Kubernetes Prow Robot
5f18de61b0 Merge pull request #137174 from richabanker/flagz-beta
Graduate flagz API to beta
2026-03-04 05:20:18 +05:30
Kubernetes Prow Robot
ba4ac6d65b Merge pull request #137003 from hoteye/pr1-kubelet-podworkers-core
kubelet: tighten podworkers context flow and consolidate kubelet logcheck scope
2026-03-04 04:30:27 +05:30
Tim Allclair
268d9ecf0c Replace PLEG watch conditions 2026-03-03 22:31:30 +00:00
Richa Banker
adbf7dee82 graduate config.k8s.io.v1alpha1.flagz to beta 2026-03-03 13:12:16 -08:00
Kubernetes Prow Robot
4dd6454b02 Merge pull request #137275 from yongruilin/vg_emulation-version-test
Add WithMinEmulationVersion option to DV validation test suit
2026-03-04 00:11:32 +05:30
Kubernetes Prow Robot
be6162afb8 Merge pull request #135196 from harche/i133202
KEP-4680: Add message field support to DRA device health reporting
2026-03-04 00:11:24 +05:30
Bartosz
e5461b7701 Prepare pod group scheduling cycle for placement simulation 2026-03-03 18:07:13 +00:00
Kubernetes Prow Robot
80648018ad Merge pull request #137216 from macsko/podgroup_cycle_cleanup
Adjust pod group scheduling cycle code
2026-03-03 22:07:55 +05:30
Kubernetes Prow Robot
56262e6ab1 Merge pull request #137173 from richabanker/statusz-beta
Graduate statusz API to beta
2026-03-03 22:07:46 +05:30
Kubernetes Prow Robot
13010f06b2 Merge pull request #137167 from pohly/dra-device-taints-update-timestamp
DRA device taints: automatically bump TimeAdded when changing effect
2026-03-03 22:07:37 +05:30
Kubernetes Prow Robot
5941fed3d6 Merge pull request #136912 from dfajmon/selinux-ga
Promote SELinuxChangePolicy & SELinuxMountReadWriteOncePod to GA
2026-03-03 22:07:29 +05:30
Sunyanan Choochotkaew
e035c41256 DRA: Promote DRAConsumableCapacity to Beta
Signed-off-by: Sunyanan Choochotkaew <sunyanan.choochotkaew1@ibm.com>
2026-03-03 18:30:26 +09:00
Kubernetes Prow Robot
e3a9f992d2 Merge pull request #136286 from AutuSnow/feature-claimresource-tests-clean
cleanup(kubelet/test):Add test cases
2026-03-03 13:31:21 +05:30
Kubernetes Prow Robot
892c05a3c6 Merge pull request #137288 from ffromani/ffromani-podresources-api-approver
OWNERS: propose ffromani as podresources API approver
2026-03-03 12:20:43 +05:30
Kubernetes Prow Robot
619ddd3117 Merge pull request #136821 from ffromani/fix-podresources-api
node: e2e: fix podresources api test
2026-03-03 12:20:35 +05:30
Kubernetes Prow Robot
9e5ca77c44 Merge pull request #136231 from natasha41575/handle_pod_reconcile
[InPlacePodVerticalScaling] retry pending pod resizes when another pod terminates
2026-03-03 06:30:52 +05:30
Lukasz Wojciechowski
48eecb3670 Replace cpuset.CPUSet{} with cpuset.New()
This patch replaces direct struct initialization cpuset.CPUSet{} with
cpuset.New() to ensure the internal map is properly initialized.

While most CPUSet methods work correctly without this change, the Equals
method uses reflect.DeepEqual which returns false when comparing CPUSet
instances where one has a nil internal map and the other has an initialized
(empty) map. This can lead to unexpected false negatives in equality checks.

For example, the following comparison would incorrectly return false:
  cpuset.CPUSet{}.Equals(cpuset.New())

This change ensures consistent behavior across all CPUSet operations.

Signed-off-by: Lukasz Wojciechowski <l.wojciechow@partner.samsung.com>
2026-03-03 01:42:28 +01:00
Kubernetes Prow Robot
040699432e Merge pull request #137172 from richabanker/mvp-graduate-beta
Graduate Mixed Version Proxy feature gate to Beta
2026-03-03 04:56:54 +05:30
Kubernetes Prow Robot
11c10dc5a0 Merge pull request #136939 from pohly/dra-device-taints-unit-test-improvements
DRA device taints: update unit tests
2026-03-03 02:48:54 +05:30