Commit Graph

5551 Commits

Author SHA1 Message Date
Kubernetes Prow Robot
033ffc73d6 Merge pull request #132299 from aramase/aramase/f/authn_config_hash_metric
Add `last_config_info` metric for authn, authz and encryption config
2025-07-17 18:24:24 -07:00
Kubernetes Prow Robot
27ef1d4eed Merge pull request #132033 from pohly/dra-scheduler-filter-timeout
DRA scheduler: implement filter timeout
2025-07-17 15:58:24 -07:00
Anish Ramasekar
21e2fcea9e Add automatic_reload_last_config_info metric for auth configs
Signed-off-by: Anish Ramasekar <anish.ramasekar@gmail.com>
2025-07-17 17:47:51 -05:00
Kubernetes Prow Robot
3dd0e86190 Merge pull request #132821 from cici37/mapBeta
[KEP-3962]Promote MutatingAdmissionPolicy to Beta
2025-07-17 14:18:24 -07:00
Patrick Ohly
5cea72d564 DRA integration: add test case for FilterTimeout
This covers disabling the feature via the configuration, failing to schedule
because of timeouts for all nodes, and retrying after ResourceSlice changes with
partial success (timeout for one node, success for the other).

While at it, some helper code gets improved.
2025-07-17 21:18:28 +02:00
Patrick Ohly
241ac018e2 DRA integration: remove unnecessary anonymous import
It's unclear why k8s.io/kubernetes/pkg/apis/resource/install needs
to be imported explicitly. Having the apiserver and scheduler ready
to be started ensures that all APIs are available.
2025-07-17 21:18:28 +02:00
Patrick Ohly
7910b43cd3 scheduler_perf: document benchstat usage
With benchstat it's easy to do before/after comparisons, but the section for
running benchmark didn't mention it at all and didn't work as shown there:
- benchmark results must be printed (FULL_LOG)
- timeout might have been too short (KUBE_TIMEOUT)
- only "short" benchmarks ran (SHORT)
- klog log output must be redirected (ARTIFACTS)
2025-07-17 16:47:46 +02:00
Kubernetes Prow Robot
d33af7f7ef Merge pull request #133020 from pohly/apimachinery-list-map-keys
support optional listMapKeys in server-side apply
2025-07-17 06:34:24 -07:00
Kubernetes Prow Robot
71b8ad965e Merge pull request #132976 from yliaog/allocator
refactor allocator, removed claimsToAllocate from NewAllocator(), instead, passed it through Allocate()
2025-07-17 01:48:31 -07:00
Patrick Ohly
a1a85ddb16 SSA: test optional map keys
As of structured-merge-diff v6.3.0, list map keys may be optional, as long as
at least one key is provided.
2025-07-17 09:56:28 +02:00
Patrick Ohly
3357e8fc05 SSA: add integration tests
test/integration/apiserver/apply covers the behavior of server-side-apply (SSA)
for official APIs. But there seem to be no integration tests which cover the
semantic of SSA like adding/removing/updating entries in a list map. This adds
such a test.

It needs an API which is under control of the test and uses
k8s.io/apimachinery/pkg/apis/testapigroup for that purpose, with some issues
fixed (OpenAPI code generation complained) and a new list map added.

Registering that API group in the apiserver needs a REST storage and
strategy. The API group only gets added in the test. However, the production
code has to know about it. In particular,
pkg/generated/openapi/zz_generated.openapi.go has to describe it.
2025-07-17 09:56:28 +02:00
Kubernetes Prow Robot
5df27c4922 Merge pull request #132833 from saschagrunert/kms-gogo
Convert `k8s.io/kms/apis` from gogo to protoc
2025-07-16 12:12:24 -07:00
yliao
dd3691b169 refactor allocator, removed claimsToAllocate from NewAllocator(), instead, passed it through Allocate() 2025-07-16 15:11:11 +00:00
Sascha Grunert
8e6651520e Convert k8s.io/kms/apis from gogo to protoc
Use standard protoc for the kms APIs instead of gogo.

Part of kubernetes#96564

Signed-off-by: Sascha Grunert <sgrunert@redhat.com>
2025-07-16 16:46:39 +02:00
Kubernetes Prow Robot
d5b2a0438d Merge pull request #132401 from togettoyou/refactor-admission-plugin-flags
Refactor: isolate flag registration to kube-apiserver to eliminate global state
2025-07-15 22:44:29 -07:00
Cici Huang
a100dfdfaa Using alpha as the stored version for one release. 2025-07-16 05:11:52 +00:00
Junhao Zou
ae4a43de6d Refactor: isolate flag registration to kube-apiserver to eliminate global state 2025-07-16 11:01:37 +08:00
Kubernetes Prow Robot
e55e75f6d9 Merge pull request #132768 from enj/enj/f/authn_egress
Add egress selector support to JWT authenticator
2025-07-15 17:48:29 -07:00
Monis Khan
b69fd9d42c Add egress selector support to JWT authenticator
This change adds the StructuredAuthenticationConfigurationEgressSelector
beta feature (default on).  When enabled, each JWT authenticator
specified via the AuthenticationConfiguration.jwt array can
optionally specify either the controlplane or cluster egress
selector by setting the issuer.egressSelectorType field.  When
unset, the prior behavior of using no egress selector is retained.

Egress selection is valuable when the persona configuring the JWT
authenticator and the persona managing the control plane are
different individuals.  This change allows the latter to protect
control plane network services from unexpected connections.

Signed-off-by: Monis Khan <mok@microsoft.com>
2025-07-15 16:03:07 -04:00
Kubernetes Prow Robot
ab685237f0 Merge pull request #132391 from sanposhiho/pre-bind-pre-flight
feat: add PreBindPreFlight and implement in in-tree plugins
2025-07-15 04:06:23 -07:00
Cici Huang
a3ecea296c manual change 2025-07-15 01:44:13 +00:00
Kubernetes Prow Robot
3430e34d88 Merge pull request #132656 from liggitt/selector-authz
KEP-4601: Graduate selector authorization to stable
2025-07-14 16:42:38 -07:00
Jordan Liggitt
a04e7cf5eb KEP-4601: Graduate selector authorization to stable 2025-07-14 16:19:52 -04:00
Kubernetes Prow Robot
bd6e6e80cb Merge pull request #132884 from serathius/watchcache-detect-inconsistency
Enable running cache inconsistency detection by default
2025-07-14 09:12:31 -07:00
Kubernetes Prow Robot
12dc894f80 Merge pull request #127322 from vrutkovs/tracing-set-audit-id
tracing: set audit-id on incoming requests
2025-07-13 17:58:23 -07:00
Kubernetes Prow Robot
5209b41328 Merge pull request #132889 from macsko/disable_schedulerasyncpreemption_feature_correctly_in_schedulerintegration_tests
Disable SchedulerAsyncPreemption feature correctly in integration tests
2025-07-13 13:18:22 -07:00
Kubernetes Prow Robot
20114b2090 Merge pull request #132878 from ylink-lfs/chore/int32ptr_removal
chore: replace int32Ptr usage with ptr.To
2025-07-12 18:18:21 -07:00
ylink-lfs
e0f9914ef7 chore: replace int32Ptr usage with ptr.To 2025-07-13 08:12:55 +08:00
Kubernetes Prow Robot
3fc199b059 Merge pull request #132905 from ylink-lfs/chore/intptr_removal
chore: intPtr utility removal with ptr.To
2025-07-12 16:31:43 -07:00
ylink-lfs
5971802fdd chore: intPtr removal with ptr.To 2025-07-12 16:44:39 +08:00
Marek Siarkowicz
e6cf7dbf06 Enable running cache inconsistency detection by default 2025-07-11 22:19:55 +02:00
Maciej Skoczeń
9df4c35a60 Disable SchedulerAsyncPreemption feature correctly in integration tests 2025-07-11 12:28:50 +00:00
Kubernetes Prow Robot
2bdcad7419 Merge pull request #132803 from aramase/aramase/f/token_request_uid_check
Make kubelet token cache UID-aware to prevent stale tokens after service account recreation
2025-07-10 22:25:27 -07:00
Anish Ramasekar
45dfb46448 Add TokenRequestServiceAccountUIDValidation feature gate with UID validation
This change introduces the TokenRequestServiceAccountUIDValidation feature
gate and implements feature-gated service account UID validation for the
TokenRequest API. When enabled, the API validates that the service account
UID in token requests matches the actual service account UID, preventing
token requests for recreated service accounts with the same name but
different UIDs.

Signed-off-by: Anish Ramasekar <anish.ramasekar@gmail.com>
2025-07-10 23:20:23 -05:00
Kubernetes Prow Robot
6e716b2049 Merge pull request #132619 from saza-ku/report-scheduler-perf-fail
scheduler_perf: add logs to report the failure of measuring SchedulingThroughput
2025-07-10 01:15:28 -07:00
Jefftree
adb71d041d Forcefully expire lease in integration test to fix flake 2025-07-08 17:51:59 +00:00
Kubernetes Prow Robot
9fbd2dae14 Merge pull request #132339 from adrianmoisey/relaxed-validation-for-services-names
KEP-5311 Relaxed validation for Services names
2025-07-08 09:03:26 -07:00
PatrickLaabs
cfd65c5f74 chore: replacement of helper functions to ptr packge 2025-07-07 21:28:54 +02:00
@saza-ku
277c665e8b use early return 2025-07-07 17:30:52 +09:00
Saza
81be9065d1 improve the log message to clarify what users should do
Co-authored-by: Kensei Nakada <handbomusic@gmail.com>
2025-07-07 17:17:11 +09:00
PatrickLaabs
1802c55652 chore: depr. pointer pkg replacement for test integration 2025-07-06 22:02:04 +02:00
Kensei Nakada
ebae419337 feat: add PreBindPreFlight and implement in in-tree plugins 2025-07-05 17:14:21 -07:00
Kubernetes Prow Robot
f1190f1d35 Merge pull request #132716 from ylink-lfs/chore/lb_test_utilpointer_removal
chore: remove utilpointer usage in test/integration/service/loadbancer_test.go
2025-07-04 19:13:24 -07:00
Kubernetes Prow Robot
0fe23942fd Merge pull request #128653 from saschagrunert/cri-gogo
Remove gogo from proto bindings (part 1: CRI)
2025-07-04 07:21:25 -07:00
Sascha Grunert
b464bbeb8f Remove gogo-protobuf from CRI
Signed-off-by: Sascha Grunert <sgrunert@redhat.com>
2025-07-04 08:55:57 +02:00
ylink-lfs
ce7b3694f7 chore: remove utilpointer usage in package test/integration/service/loadbancer_test.go 2025-07-04 12:54:52 +08:00
Patrick Ohly
2e966244ed DRA resourceslice controller: fix recreation after quick delete
If a ResourceSlice got published by the ResourceSlice controller in a DRA
driver and then that ResourceSlice got deleted quickly (within one minute, the
mutation cache TTL) by someone (for example, the kubelet because of a restart),
then the controller did not react properly to the deletion unless some other
event triggered the syncing of the pool.

Found while adding upgrade/downgrade tests with a driver which keeps running
across the upgrade/downgrade.

The exact sequence leading to this were:
- controller adds ResourceSlice, schedules a sync for one minute in the future (the TTL)
- someone else deletes the ResourceSlice
- add and delete events schedule another sync 30 seconds in the future (the delay),
  *overwriting* the other scheduled sync
- sync runs once, finds deleted slices in the mutation cache,
  does not re-create them, and also does not run again

One possible fix would be to set a resync period. But then work is done
periodically, whether it's necessary or not.

Another fix is to ensure that the TTL is shorter than the delay. Then when a
sync occurs, all locally stored additional slices are expired. But that renders
the whole storing of recently created slices in the cache pointless.

So the fix used here is to keep track of when another sync has to run because
of added slices. At the end of each sync, the next sync gets scheduled if (and
only if) needed, until eventually syncing can stop.
2025-07-03 08:20:39 +02:00
Adrian Moisey
97c1974e9c Add integration test for RelaxedServiceNameValidation.
To test enabling and disabling of RelaxedServiceNameValidation feature
gate
2025-07-02 12:57:32 +02:00
saza-ku
a17b0d7f66 gofmt 2025-07-02 12:39:38 +09:00
Kubernetes Prow Robot
d3296eac97 Merge pull request #132614 from mimowo/fix-job-controller-edge
Fix validation for Job with suspend=true,completions=0 to set Complete condition
2025-07-01 12:43:24 -07:00