Commit Graph

134908 Commits

Author SHA1 Message Date
Kubernetes Prow Robot
cd48cabb04 Merge pull request #135232 from jsut21/kubelet/healthz-untilwithcontext-126379
kubelet: use wait.UntilWithContext for healthz server (structured logging)
2025-12-17 19:59:54 -08:00
Kubernetes Prow Robot
1c0eb534ca Merge pull request #135219 from skitt/valswap
Enforce Golang a, b = b, a swaps
2025-12-17 19:59:46 -08:00
Kubernetes Prow Robot
8f8bf5640b Merge pull request #135217 from VijetaPriya47/fix-nodeipam-sync-test-goroutine-leak
Fix goroutine leak in TestNodeSyncResync
2025-12-17 19:59:39 -08:00
Kubernetes Prow Robot
99b27386d9 Merge pull request #135211 from AkihiroSuda/fix-135210
hack/lib/util.sh: support uutils' `date` command
2025-12-17 19:59:32 -08:00
Kubernetes Prow Robot
d24c46b1d9 Merge pull request #135183 from enj/patch-11
Add enj to k8s.io/client-go approvers
2025-12-17 19:59:24 -08:00
Kubernetes Prow Robot
05ae5a310c Merge pull request #135126 from mrvarmazyar/add-pod-flush-metric
scheduler: add metric for pods scheduled after flush
2025-12-17 19:59:16 -08:00
Kubernetes Prow Robot
a31e6a115f Merge pull request #132402 from astraw99/ftr-add-node-arch
Add node `arch` in the kubectl get node output
2025-12-17 18:33:14 -08:00
Kubernetes Prow Robot
3346a57834 Merge pull request #134966 from shwetha-s-poojary/enable-notimestamp-lint
Enable notimestamp rule for Kube API Linter
2025-12-17 17:37:15 -08:00
yliao
3e34de29c4 fixed the loophole that allows user to get around resource quota set by system admin 2025-12-18 00:56:20 +00:00
Kubernetes Prow Robot
a3622a3575 Merge pull request #134849 from tchap/kubectl-label-message
kubectl label: Add 'modified' output version
2025-12-17 16:27:01 -08:00
Kubernetes Prow Robot
0603a36306 Merge pull request #134791 from aditigupta96/contextual-kube-aggregator
kube-aggregator: Refactor OpenAPI controllers to be context-aware
2025-12-17 16:26:54 -08:00
Kubernetes Prow Robot
d6c073990b Merge pull request #134623 from adrianmoisey/service-headless
Refactor 'Services should implement service.kubernetes.io/headless' test
2025-12-17 16:26:47 -08:00
Kubernetes Prow Robot
31a4fb02b8 Merge pull request #134607 from varunrsekar/dra-pci-bus-attr
Helper function to standardize the PCIBusID device attribute for DRA drivers
2025-12-17 16:26:39 -08:00
Kubernetes Prow Robot
243404b870 Merge pull request #134515 from carlory/e2e-autoscaling
e2e: improve test/e2e/framework/autoscaling/autoscaling_utils.go
2025-12-17 16:26:32 -08:00
Kubernetes Prow Robot
0b7ad29069 Merge pull request #134451 from aditigupta96/finalizing-controller-refactor
refactor(apiextensions-apiserver): Make finalizingController controller context-aware
2025-12-17 16:26:25 -08:00
Kubernetes Prow Robot
8362ec56da Merge pull request #134441 from humblec/kubelet-volume
Record proper orphaned pod cleanup error based on the system call
2025-12-17 16:26:18 -08:00
Kubernetes Prow Robot
cc4bccf6a1 Merge pull request #134422 from jaehanbyun/ingressclass-default-marker
ingressclass: show (default) marker for default IngressClass
2025-12-17 16:26:11 -08:00
Kubernetes Prow Robot
1078cf59b9 Merge pull request #133964 from K-Diger/fix/dra-plugin-unreachable-code
kubelet: refactor DRA plugin health client initialization
2025-12-17 16:26:03 -08:00
Kubernetes Prow Robot
6d0b48092e Merge pull request #133895 from Narita-1095305/fix/peerproxy-rand-shadowing
apiserver/peerproxy: avoid shadowing math/rand with local variable\n\…
2025-12-17 16:25:55 -08:00
Kubernetes Prow Robot
09e71afb4b Merge pull request #133828 from dims/drop-unnecessary-usegocmp-build-tag
Drop unnecessary `usegocmp` build tag
2025-12-17 16:25:47 -08:00
Kubernetes Prow Robot
1187749524 Merge pull request #133719 from carlory/removeMaxAttachLimit
clean up removeMaxAttachLimit
2025-12-17 16:25:40 -08:00
Kubernetes Prow Robot
97e95711c5 Merge pull request #133654 from kwohlfahrt/kubelet-cert
Fix kubelet certificate reload when connecting by IP address
2025-12-17 16:25:32 -08:00
Kubernetes Prow Robot
eb7e43ba44 Merge pull request #133466 from bart0sh/PR193-refactor-api-enablement
Refactor API group validation and error reporting
2025-12-17 16:25:25 -08:00
Kubernetes Prow Robot
e14cdadc5a Merge pull request #132807 from iholder101/feature/ImageVolumeWithDigest
[KEP-5365] Implement Image Volume with Digest
2025-12-17 16:25:17 -08:00
GrigoriyMikhalkin
3266f18eea Update staging/src/k8s.io/apiserver/pkg/storage/etcd3/watcher.go
Co-authored-by: Patrick Ohly <patrick.ohly@intel.com>
2025-12-17 21:28:43 +01:00
Davanum Srinivas
914ddf4468 kubelet: improve CRI stats for resource metrics and testing
properly support the resource metrics endpoint when `PodAndContainerStatsFromCRI` is enabled and fix the related e2e tests.

Stats Provider:
- add container-level CPU and memory stats to `ListPodCPUAndMemoryStats` so the resource metrics endpoint has complete data
- add `aggregatePodSwapStats` to compute pod-level swap from container stats (CRI doesn't provide pod-level swap directly)
- add missing memory stats fields: `AvailableBytes`, `PageFaults`, and `MajorPageFaults`
- add platform-specific implementations for Linux and Windows

Tests:
- skip cAdvisor metrics test when `PodAndContainerStatsFromCRI` is enabled (cAdvisor metrics aren't available in that mode)
- fix expected metrics in `ResourceMetricsAPI` test
- `node_swap_usage_bytes` is only available with cAdvisor (need to verify!)
- Add `dumpResourceMetricsForPods` helper to log actual metric values when tests fail, making debugging easier

Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2025-12-17 10:52:32 -05:00
Kubernetes Release Robot
92d5eb1175 CHANGELOG: Update directory for v1.35.0 release 2025-12-17 13:01:55 +00:00
Manuel Grandeit
b18339638a Fix data race in garbage collector on node.owners field
Add ownersLock to protect concurrent access to node.owners between
GraphBuilder.processGraphChanges() (writer) and GC worker goroutines
reading in blockingDependents() and unblockOwnerReferences() methods.

Also fix concurrent reads in the HTTP debug handler (/graph endpoint)
for owners, dependents, beingDeleted, deletingDependents, and virtual
fields by using their respective thread-safe accessor methods.
2025-12-16 22:38:59 +01:00
Kubernetes Release Robot
ea0dce1df1 CHANGELOG: Update directory for v1.32.11 release 2025-12-16 18:27:41 +00:00
Lubomir I. Ivanov
4d11e21fc9 kubeadm: always retry Patch() Node API calls
The PatchNodeOnce function has historically exited early
in scanarious when we Get a Node object, but the next Patch
API call on the same Node object fails. This can happen
in setups that are under a lot of resource pressure
or different network timeout scenarious.

Instead of exiting early and allow listing certain errors,
always retry on any Patch error. This aligns with the
general idea that kubeadm retries *all* API calls.
2025-12-16 19:09:01 +01:00
Michael Aspinwall
6b977a28e9 Add test for replace events in controller 2025-12-16 17:48:03 +00:00
Lubomir I. Ivanov
df44db129b kubeadm: remove the FG ControlPlaneKubeletLocalMode
The FG went GA in 1.35. It can be removed in 1.36.
2025-12-16 17:32:50 +01:00
Bartosz
49035d1404 Add perf test for scheduling pods matching existing pods antiaffinity 2025-12-16 13:02:11 +00:00
Bartosz
d6d8639349 Fix queue hint for interpod antiaffinity 2025-12-16 13:01:15 +00:00
Bartosz
145adcd522 Fix queue hint for interpodaffinity when target pod is updated 2025-12-16 12:57:50 +00:00
Prince Pereira
832e342c01 Update vendored hnslib to v0.1.2 2025-12-16 12:50:35 +00:00
Patrick Ohly
5d536bfb8e DRA: log more information
For debugging double allocation of the same
device (https://github.com/kubernetes/kubernetes/issues/133602) it is necessary
to have information about pools, devices and in-flight claims. Log calls get
extended and the config for DRA CI jobs updated to enable higher verbosity for
relevant source files.

Log output in such a cluster at verbosity 6 looks like this:

I1215 10:28:54.166872       1 allocator_incubating.go:130] "Gathered pool information" logger="FilterWithNominatedPods.Filter.DynamicResources" pod="dra-8841/tester-3" node="kind-worker2" pools={"count":1,"devices":["dra-8841.k8s.io/kind-worker2/device-00"],"meta":[{"InvalidReason":"","id":"dra-8841.k8s.io/kind-worker2","isIncomplete":false,"isInvalid":false}]}
I1215 10:28:54.166941       1 allocator_incubating.go:254] "Gathered information about devices" logger="FilterWithNominatedPods.Filter.DynamicResources" pod="dra-8841/tester-3" node="kind-worker2" allocatedDevices={"count":2,"devices":["dra-8841.k8s.io/kind-worker/device-00","dra-8841.k8s.io/kind-worker3/device-00"]} minDevicesToBeAllocated=1
2025-12-16 09:58:05 +01:00
Marin Atanasov Nikolov
5a49b58661 code-generator/defaulter-gen: generate defaults only if required tags are present
This change makes `defaulter-gen` consistent with the rest of the code-generator
tools like `deepcopy-gen`, `validation-gen` and others.

In order for defaults to be generated, the `defaulter-gen` tool will expect to
find the respective `+k8s:defaulter-gen` marker.

Additional details can be found in the following issue:

https://github.com/kubernetes/kubernetes/issues/135417
2025-12-16 09:40:47 +02:00
Tim Hockin
ea02c4bfb9 Add validation-gen 'warning' to tag docs 2025-12-15 09:41:28 -08:00
Maciej Skoczeń
bfc44a42d5 Allow to change scheduler_perf threshold data bucket 2025-12-15 14:39:56 +00:00
Vlad Shkrabkov
5be527b78e Scheduler: Fix GatedPods metric desync in unschedulable queue
Previously, when a Pod residing in the 'unschedulablePods' queue was updated and subsequently rejected by PreEnqueue plugins (returning 'Wait'), the logic in 'moveToActiveQ' would return early because the Pod was already present in the queue.

This caused the 'scheduler_gated_pods_total' metric to fail to increment, leading to metric inconsistencies (and potentially negative values upon Pod deletion).

This change adds a check to detect the transition from Ungated to Gated. If detected, the Pod is removed and re-added to the queue to ensure metrics are correctly swapped (Unschedulable-- and Gated++).

Added regression test 'TestSchedulingQueueMetrics_UngatedToGated' to verify the fix.

Signed-off-by: Vlad Shkrabkov <vshkrabkov@google.com>
2025-12-15 11:47:22 +00:00
Ali Abbasi Alaei
156a181ce1 Add appProtocol to the service describe output 2025-12-13 14:58:42 -05:00
Kubernetes Prow Robot
c180d6762d Merge pull request #135692 from pohly/local-up-containerd-config-fix
local-up-cluster.sh: support more recent containerd like 2.2
2025-12-12 20:33:45 -08:00
Sergey Kanzhelev
76af576cc7 clarify RemoveImage CRI API call 2025-12-12 21:29:30 +00:00
KasimVali2207
d8fe13bac7 Address review feedback: use gomega.Consistently and refactor pod creation
- Replaced time.Sleep with gomega.Consistently to ensure reliable failure detection if a restart occurs during the wait
- Refactored createPodWith*Probes functions into a single helper to remove code duplication

Signed-off-by: KasimVali2207 <kasimvali2207@gmail.com>
2025-12-12 19:28:45 +05:30
KasimVali2207
53e5dcec97 Add stress tests for gRPC, HTTP, and TCP liveness probes
This commit adds e2e stress tests to verify that liveness probes do not cause
unexpected container restarts under load. The tests create many containers
(50 per test) with liveness probes configured to run every 1 second.

Three test cases are included:
- HTTP liveness probe stress test
- TCP liveness probe stress test
- gRPC liveness probe stress test

Each test waits for all containers to be running, observes probe behavior for
2 minutes, and validates that no containers have restarted unexpectedly.

These tests address the bug fix from issue kubernetes#89898 and serve as a
replacement for the skipped unit test from PR kubernetes#115329.
2025-12-12 19:28:44 +05:30
Ed Bartosh
1820dc7535 Fit tests: add DRA-aware test cases 2025-12-12 15:48:18 +02:00
Ed Bartosh
7860effc2c resourceAllocationScorer: add unit test for DRA nodeMatches 2025-12-12 15:48:13 +02:00
Ed Bartosh
02a39d6c1e Balanced allocation tests: cover DRA resources
- Added DRA-aware test cases
- Pulled shared DRA setup out into helper to keep tests DRY
- Added SignPod test
2025-12-12 13:51:19 +02:00
Jan Safranek
e701a37a1e Use only enqueuePod to add pods to the controller queue
enqueuePod already creates the right key for a pod, it's better to reuse it
than copy the code around.
2025-12-12 11:19:13 +01:00