Commit Graph

134908 Commits

Author SHA1 Message Date
Kubernetes Prow Robot
c475dd271b Merge pull request #134014 from toVersus/fix/downward-api-flake
deflake e2e tests: Pod Level Resources Downward API
2025-09-12 15:24:06 -07:00
Jefftree
872981a205 Rename CLE test directories 2025-09-12 21:17:06 +00:00
Kubernetes Prow Robot
bd1288e000 Merge pull request #134043 from HirazawaUi/remove-container-name
Remove container name from container event messages
2025-09-12 13:24:14 -07:00
Kubernetes Prow Robot
b7f44cfc17 Merge pull request #134042 from Karthik-K-N/fix-node-test
Explicitly set TerminationGracePeriodSeconds for mirror pod
2025-09-12 13:24:07 -07:00
Aditi Gupta
1ce12710ec refactor(controller): Use context-aware WaitForNamedCacheSync in resourcequota and HPA tests 2025-09-12 12:37:54 -07:00
Joel Speed
d2ba13dac9 Add exceptions for existing issues for conditions linter 2025-09-12 18:07:54 +01:00
Joel Speed
894d724f98 Enable conditions linter for Kube API Linter 2025-09-12 18:06:55 +01:00
Joel Speed
e3b08f9871 Update KAL to latest and add shadow config for new options 2025-09-12 18:06:17 +01:00
Lalit Chauhan
af6b3ed1f5 Add support for k8s-label-key 2025-09-12 16:52:04 +00:00
Lalit Chauhan
aa0c5960ed Add support for k8s-label-value format. 2025-09-12 16:52:03 +00:00
Patrick Ohly
8fed05c5b7 DRA E2E node: fix test cleanup
dd9917ddce fixed one test which did not wait for
pods to be deleted and then, depending on the timing, left ResourceClaims
prepared because the driver stopped before kubelet could call
NodeUnprepareResources.

But this is a more systematic issue also with other tests, so now the any test
which starts a DRA plugin automatically uses the same common cleanup code:
- delete pods in the test names
- wait for the driver to not have any active ResourceClaims
- stop the driver
2025-09-12 18:43:35 +02:00
Jack Ma
b81e87c02f fix: use iifname for input interface name matches
add tests to cover nftables; also fix NewDetectLocalByBridgeInterface
2025-09-12 09:39:08 -07:00
胡玮文
5a708a7ff0 scheduler/volumebinding: remove Get[API]{PV,PVC}
should be replaced by generic Get[APIObj]
2025-09-13 00:26:46 +08:00
胡玮文
ed19492dc2 scheduler/volumebinding: passive assume cache
Currently volume and dynamic-resource plugin shares an AssumeCache
implementation. However, they features significantly different use case.  DRA
call Assume() on objects returned by APIServer, but volume call Assume() on
objects yet to be sent to the APIServer.

VolumeBinding plugin only makes one update request, while DynamicResource makes
2 requests (add finalizer then update allocation status).  Taking advantage of
this, currently the volume cache is simpler:

1. Reserve: assume PV/PVC will be updated
2. PreBind: really send the update request
3. AssumeCache receives an update from informer and overwrite the assumed state.
   a. if Prebind succeeded, this will surely include the update from step 2.
   b. if PreBind is not finished yet, and this is an irrelevant update, it is safe to
      overwrite the assumed state, because our update in PreBind will surely fail with Conflict.

While for DynamicResource:

1. Reserve: add devices to inFlightAllocations
2. PreBind:
   a. send the 2 update requests
   b. add the returned object into AssumeCache
   c. AssumeCache dispatch events synchronously to update allocatedDevices
   d. remove devices from inFlightAllocations

DynamicResource needs some features from AssumeCache that is not necessary for VolumeBinding:
1. DynamicResource needs strictly ordered update events to update allocatedDevices,
   including those from Assume() and Restore()
2. DynamicResource needs to compare ResourceVersion to prevent the assumed state from being
   overwritten by older version from informer.  While this works, the doc[1] says:
   "you must not compare resource versions for greater-than or less-than relationships".

Given so much difference, it can be beneficial to fork another simpler
AssumeCache for VolumeBinding plugin. Because of no need to send events, the
lite AssumeCache is a passive component. It only record the assumed version
without copying all objects from informer into its local cache. When reading,
we read from both informer and local cache.  So it will always be up-to-date
with informer, no need to wait for event handler.

This resolves a race condition where AssumeCache and scheduler queue both
receive events from informer. When a pod is scheduling due to PV update event,
the PVCache may be not updated yet because it has not processed the relevant
event.

The passive version still listens events from informer, but only for cleaning up
its local cache to save memory.

[1]: https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions
2025-09-13 00:26:45 +08:00
Kubernetes Prow Robot
118e833a0d Merge pull request #133687 from soltysh/drop_PodIndexLabel
Drop PodIndexLabel after the feature GA-ed in 1.32
2025-09-12 07:30:11 -07:00
Kubernetes Prow Robot
87e4239474 Merge pull request #134015 from serathius/storage-resource-prefix5
Fix cacher resource prefix not having a "/" at the end in tests
2025-09-12 06:38:16 -07:00
Kubernetes Prow Robot
405c10f1c0 Merge pull request #133989 from carlory/fix-133986
deflake unit test: TestIsConnectionReset
2025-09-12 06:38:09 -07:00
HirazawaUi
09ab06b423 Remove container name from container event messages 2025-09-12 20:00:55 +08:00
Kubernetes Prow Robot
0e812b5efe Merge pull request #133624 from serathius/watch-flake
Fix flaking RunTestDelayedWatchDelivery
2025-09-12 04:10:08 -07:00
Kubernetes Prow Robot
08bc37c755 Merge pull request #134021 from pohly/scheduler-perf-gc
scheduler_perf: run garbage collection before measurement
2025-09-12 03:18:15 -07:00
Kubernetes Prow Robot
601068b889 Merge pull request #134018 from tico88612/cleanup/new-indexer-informer-watcher-replace
Replace NewIndexerInformerWatcher with NewIndexerInformerWatcherWithLogger
2025-09-12 03:18:08 -07:00
Patrick Ohly
bbf896c35b build: automatically choose a suitable base image
When building some command dynamically through KUBE_CGO_OVERRIDES, the base
image for that command must provide a libc which matches what the command was
compiled against. If the runtime libc is too old, then it might not have the
right ABI (missing symbols or wrong version of those symbols).

A user or job shouldn't need to know which of the different Kubernetes images
is the right one, therefore the build scripts now use the same image that was
previously only used for kube-proxy also for other commands if they get build
dynamically. This does not increase the maintenance effort because a single
image bump remains sufficient and for e.g. a kind cluster it doesn't matter
that the kube-proxy base image is slightly larger than necessary for the other
commands - it only needs to be present once in the node image.
2025-09-12 12:12:26 +02:00
Karthik Bhat
4e907fad15 Explicitly set TerminationGracePeriodSeconds for mirror pod 2025-09-12 15:16:31 +05:30
Kubernetes Prow Robot
f2ef1c4d08 Merge pull request #133917 from n2h9/133916-fix-cert-key-files-data-validation-error
[client-go] [cli-runtime] [133916]: fix config override logic when override provides ClientKey, ClientCertificate
2025-09-12 02:26:09 -07:00
Marek Siarkowicz
1e742f01ba Fix cacher resource prefix not having a "/" at the end in tests 2025-09-12 11:07:23 +02:00
胡玮文
c385a229d4 scheduler/volumebinding: introduce testInformer 2025-09-12 15:11:52 +08:00
Marek Siarkowicz
1baa7936d8 Fix flaking RunTestDelayedWatchDelivery 2025-09-12 09:11:11 +02:00
胡玮文
eaf87d5907 scheduler/volumebinding: pass testing.T to helper 2025-09-12 14:29:02 +08:00
胡玮文
dce23dac03 scheduler/volumebinding: use subtest 2025-09-12 14:23:06 +08:00
Kubernetes Prow Robot
7104c1e426 Merge pull request #134017 from mochizuki875/standardize_not_found_error_of_kubectl_scale
Standardize not found error message of kubectl scale
2025-09-11 22:38:13 -07:00
Kubernetes Prow Robot
f51cca2527 Merge pull request #133923 from maxcelant/store-index-set
Replace deprecated sets.String with sets.Set in client-go/tools/*
2025-09-11 22:38:06 -07:00
Richa Banker
90109b21af Wrapper for DeleteLabelValues 2025-09-11 20:11:56 -07:00
Kubernetes Prow Robot
2d9ffdfec1 Merge pull request #134006 from pacoxu/kubelet-config-e2e
node_e2e: fix kubelet configuration setup
2025-09-11 20:08:06 -07:00
Kubernetes Prow Robot
44544abdc7 Merge pull request #133612 from michaelasp/discoveryCheck
feat: Add discovery check to SVM to ensure migration doesn't get stuck
2025-09-11 18:32:07 -07:00
Paco Xu
455a437674 node_e2e: fix kubelet configuration setup 2025-09-12 09:26:17 +08:00
Max Celant
c08b9ab3b5 Replace deprecated sets.String with sets.Set for Index type
updating to include initialization in func

Update store to use sets.Set

updating tests to use sets.New instead of sets.NewString

update store_test

update index_test

update controller_test file

update delta_fifo file

update expiration_cache_fakes file

update index_test file

update thread_safe_store file

update events_cache file

update thread_safe_store_test

update expiration_cache_test

small refactor of for loop

unexport the Index type -> index
2025-09-11 20:08:55 -05:00
Richa Banker
476325f6e5 Specify the deprecated version of apiserver_storage_objects metric 2025-09-11 16:25:39 -07:00
Kubernetes Prow Robot
1d80f35350 Merge pull request #132791 from bitoku/cpu-weight
Update pod resize test to accept new cpu.weight conversion.
2025-09-11 16:20:08 -07:00
Kubernetes Prow Robot
fa9a1e433e Merge pull request #133187 from jpbetz/ratchet-selectable-fields
Add ratcheting of max CRD selectableFields limit
2025-09-11 15:28:14 -07:00
Kubernetes Prow Robot
1f677aee96 Merge pull request #130704 from GrigoriyMikhalkin/apiextensions-no-storage-unserved
Skip creating storages for non-stored and non-served versions
2025-09-11 15:28:07 -07:00
Nikita B
cbedde7ef5 [client-go] [cli-runtime] [133916]: handle properly config override logic when override provides ClientKey, ClientCertificate: also empty TokenFile if Token is set in ConfigFlags
Signed-off-by: Nikita B <n2h9z4@gmail.com>
2025-09-11 22:41:29 +02:00
Kubernetes Prow Robot
d602326b87 Merge pull request #133363 from yliaog/implicit
Allow implicit extended resource name to be used no matter explicit extendedResourceName field is set or not in device class
2025-09-11 13:40:07 -07:00
Joe Betz
41307203ba Add additional test for root level, ignore mutation lint error 2025-09-11 16:35:09 -04:00
Kubernetes Prow Robot
b6bee49e65 Merge pull request #133953 from princepereira/ppereira-lb-delete-issue
Fix ClusterIP load balancer disappearing when InternalTrafficPolicy: Local is set.
2025-09-11 12:26:16 -07:00
Kubernetes Prow Robot
69e637f24c Merge pull request #131755 from jpbetz/openapi-type-name-gen
Allow OpenAPI model package names to be declared by APIs
2025-09-11 12:26:08 -07:00
Kubernetes Prow Robot
ca78eafa24 Merge pull request #134010 from pohly/scheduler-perf-docs
scheduler_perf: KUBE_CACHE_MUTATION_DETECTOR=false in docs
2025-09-11 11:36:14 -07:00
ChengHao Yang
029d314e15 Replace NewIndexerInformerWatcher with NewIndexerInformerWatcherWithLogger
Signed-off-by: ChengHao Yang <17496418+tico88612@users.noreply.github.com>
2025-09-12 01:44:02 +08:00
Maciej Szulik
46cc610e6f Drop PodIndexLabel after the feature GA-ed in 1.32
Signed-off-by: Maciej Szulik <soltysh@gmail.com>
2025-09-11 19:32:48 +02:00
Patrick Ohly
16fa150182 scheduler_perf: run garbage collection before measurement
The startup phase may have allocated memory that can be garbage-collected.
Forcing GC to run before measurements avoids noise if the garbage collection
kicks in during the measurement and potentially reduces the heap size reported
by metrics.

The exact effect has not been measured, it just seems useful.
2025-09-11 19:25:20 +02:00
GrigoriyMikhalkin
c52e3aafb3 skip creating storages for unserved versions 2025-09-11 19:20:08 +02:00