Commit Graph

132398 Commits

Author SHA1 Message Date
Morten Torkildsen
81cb5b7df2 DRA: Fix PrioritizedList scheduler perf test 2025-09-09 22:13:32 +00:00
Kubernetes Prow Robot
0ce6d771ab Merge pull request #133973 from yongruilin/master_vg-unique-tag
refactor(validation-gen): Refactor Union and Item validation
2025-09-09 13:19:57 -07:00
Kubernetes Prow Robot
8548f32a46 Merge pull request #133941 from pohly/scheduler-perf-dra-resourceslices
scheduler_perf: treat ResourceSlice publishing as workload startup
2025-09-09 11:57:56 -07:00
Tim Hockin
2d71a0d72b Refactor ItemTagValidator.GetValidations a bit 2025-09-09 16:55:12 +00:00
Tim Hockin
8f679c7402 Make item validation just use a TagValidator
No need for Field/TypeValidators.
2025-09-09 16:55:12 +00:00
Tim Hockin
c047bdf58f Sort item criteria to match listmap key order 2025-09-09 16:55:12 +00:00
Tim Hockin
26283acfb1 Clarify that union has field- or item-members 2025-09-09 16:55:12 +00:00
Tim Hockin
3f068c7c64 Parse path early, clean up getDisplayFields()
The path part of a list-item's fieldName is redundant with the path key
in the map.  I don't love parsing paths, but it seems less awful that
overloading Context.Member.
2025-09-09 16:55:12 +00:00
Tim Hockin
77c1ac6320 Improve error reporting in item tag 2025-09-09 16:55:12 +00:00
Tim Hockin
1f61a8b814 Rename "fields" to "members"
It is more inclusive of list-item unions.
2025-09-09 16:55:11 +00:00
Tim Hockin
1417e56dff Break processFieldMemberValidations into 2 funcs
It's a little repetitive but I think it is easier to follow.
2025-09-09 16:55:11 +00:00
Tim Hockin
023c026d6f Add ListSelector in validation Context
We already have "Member" which is a way to "forward" information from
stem validators (each, subfield, item) to leaf validators.  That works
for fields in a struct but not items in a list.

Now we have the list selection criteria.

This simplifies union a bit and gets rid of the need to regex parse the
field path.
2025-09-09 16:55:11 +00:00
Tim Hockin
3e2e2195ed Unions: replace [2]string with a type 2025-09-09 16:55:11 +00:00
yongruilin
8130cf82b5 run "hack/update-codegen.sh valid" 2025-09-09 16:54:46 +00:00
Tim Hockin
348d576c9f validation: Use JSON names in paths
This ensures that things that parse paths (e.g. to extract the leaf
part) get API-style names.
2025-09-09 16:15:17 +00:00
Tim Hockin
f51d57042e Update Context comments and fix some usage
Audit all Context creation sites and update the comments to better
describe.

Pass the raw type in Context, not the `NativeType()`.
2025-09-09 16:14:06 +00:00
Tim Hockin
9e71a07abf Minor validator name-string fix 2025-09-09 16:13:25 +00:00
Tim Hockin
fd3fcfe121 Add comments to generated code
This makes the output longer, but I think it might have helped catch
recent bugs that SHOULD have been caught by inspection.
2025-09-09 16:12:59 +00:00
Kubernetes Prow Robot
04096030a1 Merge pull request #133883 from yangjunmyfm192085/fixerrordescription
Fix incorrect description of feature PodObservedGenerationTracking
2025-09-09 08:46:06 -07:00
Kubernetes Prow Robot
fd71bb8bda Merge pull request #133714 from jrvaldes/upstream/fix-enableSystemLogQuery-error-message
kubelet: fix error message for EnableNodeLogQuery
2025-09-09 08:45:59 -07:00
Kubernetes Prow Robot
439aa009bb Merge pull request #133947 from enj/enj/i/local_up_kubelet_ca
Validate kubelet serving cert in local-up-cluster
2025-09-09 06:49:31 -07:00
Patrick Ohly
8b50c77eb6 scheduler_perf: measure DRA setup time
The time required for pulling ResourceSlices into the scheduler is relevant in
two cases:
- The scheduler was (re)started and waits for informers to sync.
- A driver got deployed and needs to inform the scheduler about its devices.

The new workload measures the second scenario. It's indirectly relevant for
the first one because it allows drawing conclusion about the code which is also
involved in the first one.
2025-09-09 15:15:29 +02:00
Kubernetes Prow Robot
a8905a154b Merge pull request #133179 from nmn3m/fix-strings-title
Replace deprecated strings.Title with cases.Title
2025-09-09 05:53:30 -07:00
Kubernetes Prow Robot
1bec132e1e Merge pull request #133939 from pohly/scheduler-perf-testing-B-metrics
scheduler_perf: reset and stop testing.B metrics
2025-09-09 02:59:31 -07:00
Kubernetes Prow Robot
ddd8e70b1e Merge pull request #133933 from zhifei92/cleanup-duplicate-logs
Clean up duplicate logs
2025-09-08 14:05:43 -07:00
Kubernetes Prow Robot
01f11bfa24 Merge pull request #133930 from bart0sh/PR198-migrate-stats-to-contextual-logging
chore(kubelet): migrate stats to contextual logging
2025-09-08 14:05:36 -07:00
Kubernetes Prow Robot
a3fcc7070e Merge pull request #129768 from liggitt/delete-finalizer-race
protect against race between deletion and adding finalizers
2025-09-08 14:05:28 -07:00
Monis Khan
801ee44163 Validate kubelet serving cert in local-up-cluster
Signed-off-by: Monis Khan <mok@microsoft.com>
2025-09-08 16:12:21 -04:00
Kubernetes Prow Robot
164e467deb Merge pull request #130157 from zhifei92/migrate-kubelet-metrics-to-contextual-logging
chore(kubelet): migrate metrics to contextual logging
2025-09-08 12:21:27 -07:00
Kubernetes Prow Robot
29218e6d07 Merge pull request #131826 from yanhuan0802/bugfix-detach-typo
fix typo for forceDetachTimeoutExpired
2025-09-08 11:23:29 -07:00
Patrick Ohly
8ff5cec261 scheduler_perf: block after creating ResourceSlices
After creating ResourceSlices, the workload was allowed to proceed even while
the scheduler was still busy receiving those new ResourceSlices. This blurred
the line between "setup" and "measurement" phase of DRA workloads. It's not
immediately clear how much that affected results, but it is cleaner to block.

This is done by returning the scheduler instance to the main scheduler_perf
loop and then pass the SharedDRAManager into the driver setup operation. There
it can be used to poll until that manager has processed all ResourceSlices.
2025-09-08 19:36:32 +02:00
Patrick Ohly
af6da561dd scheduler_perf: reset and stop testing.B metrics
Before, metrics gathered by testing.B (runtime_seconds,
-benchmem's B/op and allocs/op) covered the entire test case, including
starting the apiserver and the initialization steps of a workload. Now those
metrics are also limited to the period where the workload is configured to
collect metrics.
2025-09-08 19:17:24 +02:00
Kubernetes Prow Robot
447ca5ff02 Merge pull request #133898 from HadrienPatte/client-go/compatibility-matrix
Update client-go compatibility matrix to include releases up to 1.34
2025-09-08 09:23:28 -07:00
Kubernetes Prow Robot
90b03f1af0 Merge pull request #133910 from bitoku/fix-graceful-shutdown
Fix GracefulNodeShutdown perma failing test
2025-09-08 07:39:38 -07:00
Kubernetes Prow Robot
08946ca255 Merge pull request #132606 from Peac36/fix/132539
add paths section to scheduler statusz endpoint
2025-09-08 07:39:31 -07:00
zhangzhifei16
39170e2ed6 chore: Clean up duplicate logs 2025-09-08 21:37:13 +08:00
Kubernetes Prow Robot
597a684bb0 Merge pull request #133172 from ania-borowiec/move_handle_and_plugin
Move interfaces: Handle and Plugin and related types from kubernetes/kubernetes to staging repo kube-scheduler
2025-09-08 06:05:31 -07:00
Lan
cfeeff7ace chore(kubelet): migrate stats to contextual logging
Signed-off-by: Lan <gcslyp@gmail.com>
Co-Authored-By: Ed Bartosh <eduard.bartosh@intel.com>
2025-09-08 15:35:02 +03:00
Ayato Tokubi
5ed98e97e1 Remove getLocalNode to fix GracefulNodeShutdown e2e.
getLocalNode tried to get a ready node and fails if there's none.
The e2e test sends termination signal to kubelet and it's expected to have no ready nodes. Because of this, the e2e was permafailing.

Signed-off-by: Ayato Tokubi <atokubi@redhat.com>
2025-09-08 12:20:55 +00:00
Nikola
b42b96f518 add paths section to scheduler statusz endpoint
Signed-off-by: Nikola <peac36@abv.bg>
2025-09-08 13:13:42 +03:00
Kubernetes Prow Robot
d95e07d0f8 Merge pull request #133926 from pohly/dra-kubelet-grpc-idle
DRA kubelet: avoid deadlock when gRPC connection to driver goes idle
2025-09-08 01:09:28 -07:00
Patrick Ohly
06c5eb992e DRA kubelet: avoid deadlock when gRPC connection to driver goes idle
When gRPC notifies the kubelet that a connection ended, the kubelet tries to
reconnect because it needs to know when a DRA driver comes back. The same code
gets called when a connection goes idle, by default after 30 minutes. In that
and only that case the conn.Connect call deadlocks while calling into the gRPC
idle manager.

This can be reproduced with a new unit test which artificially shortens the
idle timeout. This fix is to move the Connect call into a goroutine because
then both HandleConn and Connect can proceed. It's sufficient that Connect
finishes at some point, it doesn't need to be immediately.
2025-09-08 08:59:55 +02:00
zhangzhifei16
d38c1df3f3 chore(kubelet): migrate metrics to contextual logging. 2025-09-08 10:53:42 +08:00
Huan Yan
7aa6cabd63 fix typo for forceDetachTimeoutExpired 2025-09-07 16:37:34 +08:00
Kubernetes Prow Robot
d9b31d602d Merge pull request #133893 from HirazawaUi/close-connections
Kubeadm: Close container runtime connections after use
2025-09-06 01:35:24 -07:00
Kubernetes Prow Robot
cca2ff05f7 Merge pull request #133838 from macsko/fix_race_in_movepodstoactiveorbackoffq
Fix race in movePodsToActiveOrBackoffQueue
2025-09-06 00:31:25 -07:00
HirazawaUi
8118636321 Close container runtime connections after use 2025-09-06 14:42:36 +08:00
Kubernetes Prow Robot
b508767369 Merge pull request #132655 from ylink-lfs/ci/httpd_removal
ci: remove httpd usage while using agnhost instead
2025-09-05 20:23:24 -07:00
Kubernetes Prow Robot
4786451d81 Merge pull request #130213 from zhifei92/migrate-kubelet-container-to-contextual-logging
chore(kubelet): migrate container to contextual logging
2025-09-05 15:41:25 -07:00
Kubernetes Prow Robot
e8b19be173 Merge pull request #133440 from carlory/deflake-service-tests
deflake e2e test: Services should implement NodePort and HealthCheckNodePort correctly when ExternalTrafficPolicy changes
2025-09-05 14:37:42 -07:00