Commit Graph

136109 Commits

Author SHA1 Message Date
Jon Huhn
e52fe3b2fb Use HTTP GET for Node log queries in e2e logcheck 2026-03-05 16:38:24 -06:00
Kubernetes Prow Robot
b50a6aa7cf Merge pull request #137374 from enj/enj/f/constrained_impersonation_metrics
KEP-5284: add constrained impersonation metrics
2026-03-06 03:42:25 +05:30
Kubernetes Prow Robot
dfa7c2bc0a Merge pull request #137329 from natasha41575/retry_oomscoreadj_verification
[InPlacePodVerticalScaling] deflake pod resize oom_score_adj check
2026-03-06 03:42:17 +05:30
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
Monis Khan
ba2a68e1db KEP-5284: add constrained impersonation metrics
See https://kep.k8s.io/5284 for details.

apiserver_impersonation_attempts_total{mode, decision}
apiserver_impersonation_attempts_duration_seconds{mode, decision}
apiserver_impersonation_authorization_attempts_total{mode, decision}
apiserver_impersonation_authorization_attempts_duration_seconds{mode, decision}

Signed-off-by: Monis Khan <mok@microsoft.com>
2026-03-05 15:26:45 -05:00
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
Natasha Sarkar
8504c0d4e3 deflake pod resize oom_score_adj check 2026-03-05 18:36:03 +00:00
Kubernetes Prow Robot
77c013637c Merge pull request #137451 from dims/update-google-protobuf-deadcode-fix
Update google.golang.org/protobuf to v1.36.12-0.20260120151049-f2248ac996af to prevent file size explosion in go 1.26
2026-03-05 23:42:28 +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
Kubernetes Prow Robot
3369e51e09 Merge pull request #137080 from cpanato/update-go-1.26
Bump dependencies, images and versions used to Go 1.26.0 and distroless iptables
2026-03-05 21:56:21 +05:30
Davanum Srinivas
c8826e0d23 Update google.golang.org/protobuf to v1.36.12-0.20260120151049-f2248ac996af
Pins google.golang.org/protobuf to HEAD commit f2248ac996afc39b3df0777cdcc269f6ade50b07
(v1.36.12-0.20260120151049-f2248ac996af) which includes fixes for dead code
elimination issues surfaced by Go 1.26's reflect changes.

Xref: https://github.com/golang/protobuf/issues/1704
Xref: https://github.com/kubernetes/kubernetes/issues/137445
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2026-03-05 10:30:01 -05:00
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
Nikhil
63080a762b kubectl describe: migrate to component-helpers resource package and add pod-level resources test (#137394)
* kubectl describe: migrate to component-helpers resource package and add pod-level resources test

Refactor describe.go to use k8s.io/component-helpers/resource package for pod resource
calculations. This migration enables proper support for pod-level resources feature.

Changes:
- Import resourcehelper from k8s.io/component-helpers/resource
- Replace PodRequestsAndLimits() with separate PodRequests() and PodLimits() calls

Add TestDescribeNodeWithPodLevelResources to verify describeNodeResource works correctly
when pods have pod-level resources (Spec.Resources) configured.

Signed-off-by: KunWuLuan <kunwuluan@gmail.com>

* address review feedback: verify computed values in test and deprecate PodRequestsAndLimits

---------

Signed-off-by: KunWuLuan <kunwuluan@gmail.com>
Co-authored-by: KunWuLuan <kunwuluan@gmail.com>
2026-03-05 18:18:25 +05:30
Kubernetes Prow Robot
8873025e93 Merge pull request #137347 from mortent/FixPrioritizedListWithAllocationModeAllAndSelectors
DRA: Fix incorrect behavior when using AllocationModeAll with PrioritizedList
2026-03-05 18:18:18 +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
c38abeb4ff Merge pull request #131572 from rexagod/metrics-api
component-base: introduce metrics api
2026-03-05 11:26:17 +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
Kubernetes Prow Robot
ef8a14f679 Merge pull request #137349 from Jefftree/fix-model-name-bounding-dirs
Pass --readonly-pkg to openapi-gen in kube_codegen.sh
2026-03-05 09:26: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
Kubernetes Prow Robot
83d2b7f7e0 Merge pull request #136568 from sairameshv/extRes_test
KEP-5004: Add upgrade/downgrade e2e tests for the DRAExtendedResources feature
2026-03-05 06:16:18 +05:30
Kubernetes Prow Robot
ad854f3495 Merge pull request #137411 from jpbetz/add-controlplane-test-owners
Add OWNERS file for test/integration/controlplane
2026-03-05 05:02:33 +05:30
Kubernetes Prow Robot
5f9a476986 Merge pull request #137337 from iPraveenParihar/fix/snapshot-metadata-script-permissions
e2e: add executable permission to snapshot metadata test script
2026-03-05 05:02:26 +05:30
Kubernetes Prow Robot
8020ce8511 Merge pull request #137066 from cnuss/fix/issues/136823
client-go/cache: fix logging
2026-03-05 05:02:19 +05:30
Jefftree
3e041492d9 Pass --readonly-pkg to openapi-gen and validation-gen in kube_codegen.sh 2026-03-04 16:25:49 -05: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
281e96a048 Merge pull request #137403 from soltysh/replicaset_wait
Wait for RS to report status rather than count pods
2026-03-05 02:24:18 +05:30
Jefftree
721eea74e7 update kube-openapi 2026-03-04 15:43:39 -05:00
Morten Torkildsen
3caaccc0d9 DRA: Fix incorrect behavior when using AllocationModeAll with PrioritizedList 2026-03-04 19:58:23 +00:00
Joe Betz
a48ca688da Add OWNERS file for test/integration/controlplane 2026-03-04 14:54:37 -05:00
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
Arda Güçlü
d37765936d kubectl wait: Support multiple conditions (#136855)
* kubectl wait: Support multiple conditions

* Error out when --for is not passed

* Add examples for AND'ing and OR'ing multiple conditions
2026-03-04 23:30:27 +05:30
Kubernetes Prow Robot
4c2036030a Merge pull request #134159 from xigang/attach_detach_controller
Remove unused desiredStateOfWorld parameter from DetermineVolumeAction
2026-03-04 23:30:19 +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
Kubernetes Prow Robot
662241ed40 Merge pull request #137311 from Mujib-Ahasan/add-delete-suggestfor-remove
`kubectl delete`: add "remove" to SuggestFor
2026-03-04 20:58:35 +05:30
Kubernetes Prow Robot
a88389dc39 Merge pull request #137287 from Mujib-Ahasan/add-top-suggestfor-stats
kubectl top: add "stats" to SuggestFor
2026-03-04 20:58:27 +05:30
Kubernetes Prow Robot
e12b0c2bba Merge pull request #134997 from yangjunmyfm192085/attach
Add `--detach-keys` for `kubectl attach` command
2026-03-04 20:58:19 +05:30
kfess
7ea5b88209 cleanup: remove suggestfor from wait command (#137266)
* feature: remove suggestfor from wait command

* fix test case
2026-03-04 20:08:27 +05:30
Kubernetes Prow Robot
6ebcc611d2 Merge pull request #137221 from bishal7679/fix/flaky-kubectl-logs-137180
fix: [sig-cli] flaky kubectl logs --all-pods --all-containers Deployment test
2026-03-04 20:08:20 +05:30
xigang
9d10b1f799 refactor: remove unused desiredStateOfWorld parameter from DetermineVolumeAction
Signed-off-by: xigang <wangxigang2014@gmail.com>
2026-03-04 22:01:43 +08:00
Maciej Szulik
0dec4fa548 Wait for RS to report status rather than count pods
Signed-off-by: Maciej Szulik <soltysh@gmail.com>
2026-03-04 14:33:55 +01: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
Kubernetes Prow Robot
3c218d83cc Merge pull request #136973 from ardaguclu/valid-containers
List containers when given container is not found
2026-03-04 17:12:31 +05:30
Kubernetes Prow Robot
a7be90c6d5 Merge pull request #136663 from kfess/issue-136662
Add timezone to kubectl describe cronjob output
2026-03-04 17:12:23 +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