Commit Graph

5585 Commits

Author SHA1 Message Date
Kubernetes Prow Robot
a11bc701e8 Merge pull request #132457 from ania-borowiec/depends_on_cluster_move_podinfo
Moving Scheduler interfaces to staging: Move PodInfo and NodeInfo interfaces (together with related types) to staging repo, leaving internal implementation in kubernetes/kubernetes/pkg/scheduler
2025-07-24 09:38:27 -07:00
Mayuka Channankaiah
ffe306d679 client-go, kubectl: Replace deprecated ErrWaitTimeout with recommended method (#132718)
* client-go: Replace depracted ErrWaitTimeout with recommended method

* Fix UT and Integration tests

* IT test
2025-07-24 07:56:27 -07:00
Ania Borowiec
aecd37e6fb Moving Scheduler interfaces to staging: Move PodInfo and NodeInfo interfaces (together with related types) to staging repo, leaving internal implementation in kubernetes/kubernetes/pkg/scheduler 2025-07-24 12:10:58 +00:00
Patrick Ohly
b768c1d1d5 DRA API: bump storage version to v1beta2
This avoids the overhead for the more complex conversion to v1beta1 and might
make it a bit more realistic to get rid of the v1beta1 eventually.

The expected GVK must be set explicitly because when emulating 1.33,
v1beta1 is the default although the fixed storage version is v1beta2.
2025-07-24 08:33:56 +02:00
Patrick Ohly
24de875ceb DRA: graduate DynamicResourceAllocation feature to GA
It hasn't been on-by-default before, therefore it does not get locked to the
new default on yet. This has some impact on the scheduler configuration
because the plugin is now enabled by default.

Because the feature is now GA, it doesn't need to be a label on E2E tests,
which wouldn't be possible anyway once it gets removed entirely.
2025-07-24 08:33:56 +02:00
Patrick Ohly
21d929f599 integration: use --runtime-config-emulation-forward-compatible
Some tests do version emulation and need the DRA feature. In that combination
the --runtime-config-emulation-forward-compatible option is needed to allow
enabling the V1 API although it's only available in 1.34.
2025-07-24 08:33:56 +02:00
Patrick Ohly
5c4f81743c DRA: use v1 API
As before when adding v1beta2, DRA drivers built using the
k8s.io/dynamic-resource-allocation helper packages remain compatible with all
Kubernetes release >= 1.32. The helper code picks whatever API version is
enabled from v1beta1/v1beta2/v1.

However, the control plane now depends on v1, so a cluster configuration where
only v1beta1 or v1beta2 are enabled without the v1 won't work.
2025-07-24 08:33:45 +02:00
Patrick Ohly
cff91579e8 DRA API: v1 registration + tests 2025-07-24 08:30:25 +02:00
Simran Kaur
c7d6c09683 List available endpoints for kube-apiserver (#132581)
Fix tests and formatting

Use ListedPaths for finding useful endpoints

Fix maps import

Update dependencies

Fix lint

Add option to pass listedpaths

Remove apiserver component check

Install statuz in genericapiserver

Register zpagesfeatures

Fix import order

Avoid adding non-debugging endpoints

Fix tests

Fix tests

fix tests

Sort paths

Sort in-place

Copy paths before sorting

Fix string initialization

Move sorting to later stage

Fix imports
2025-07-23 21:44:27 -07:00
Kubernetes Prow Robot
9148694d4b Merge pull request #133140 from KobayashiD27/fix-integ-dra-testFilterTimeout
DRA Updated to not directly change the global variable `claim`
2025-07-23 04:58:33 -07:00
Kubernetes Prow Robot
0d5921171a Merge pull request #133105 from togettoyou/scheduler_perf_132495
KEP-5229: Run Unschedulable scheduler_perf test case with SchedulerAsyncAPICalls feature gate enabled
2025-07-23 04:58:27 -07:00
Kobayashi,Daisuke
61bd5789be Updated to not directly change the global variable claim 2025-07-23 03:44:48 +00:00
Kubernetes Prow Robot
3e3f43f4b8 Merge pull request #132537 from lalitc375/hpa-validation
add validation logic for APIVersion fields of HPA
2025-07-22 19:04:27 -07:00
Lalit Chauhan
f6aee63690 add validation logic for APIVersion fields of HPA
New validation logic follows the API ratcheting principle,  will not be executed for already stored invalid if the corresponding fields or item in array is not modified. Please enter the commit message for your changes. Lines starting
2025-07-22 20:40:48 +00:00
Junhao Zou
ce2d979390 Run Unschedulable scheduler_perf test case with SchedulerAsyncAPICalls feature gate enabled 2025-07-22 17:35:48 +08:00
Kubernetes Prow Robot
cc674e7470 Merge pull request #128010 from ahmedtd/pod-certificates-types
Pod Certificates: Preliminary implementation of KEP-4317
2025-07-21 19:26:30 -07:00
Taahir Ahmed
4624cb9bb9 Pod Certificates: Basic implementation
* Define feature gate
* Define and serve PodCertificateRequest
* Implement Kubelet projected volume source
* kube-controller-manager GCs PodCertificateRequests
* Add agnhost subcommand that implements a toy signer for testing

Change-Id: Id7ed030d449806410a4fa28aab0f2ce4e01d3b10
2025-07-21 21:49:57 +00:00
Kubernetes Prow Robot
e0f20a38ed Merge pull request #132912 from natasha41575/obsgen-beta
Graduate PodObservedGenerationTracking to beta
2025-07-21 14:14:40 -07:00
Kubernetes Prow Robot
9827205bfe Merge pull request #132340 from dashpole/graduate_tracing
Graduate API Server Tracing to GA
2025-07-21 14:14:33 -07:00
Kubernetes Prow Robot
558e903fb1 Merge pull request #132462 from munnerz/update-pod-topology-domain
podtopologylabels: update topology.k8s.io->topology.kubernetes.io
2025-07-21 13:06:35 -07:00
Natasha Sarkar
53aa4332b5 fix integration tests 2025-07-21 16:50:16 +00:00
Kubernetes Prow Robot
156f824a64 Merge pull request #133086 from aramase/aramase/i/fix_data_race_133082
fix data race in OIDC integration tests by serializing test server starts
2025-07-21 08:56:33 -07:00
Patrick Ohly
4f9f6c0536 scheduler_perf: hide "metric ... not found" errors
They get logged as errors although this occurs quite frequently in some tests
and isn't a problem. Makes the output hard to follow.
2025-07-21 09:33:11 +02:00
Kubernetes Prow Robot
c44bf18b9b Merge pull request #130713 from ArkaSaha30/bump-pause-version
dependency: update pause version to registry.k8s.io/pause:3.10.1
2025-07-20 20:16:26 -07:00
Anish Ramasekar
2e756e7412 fix data race in OIDC integration tests by serializing test server starts
Signed-off-by: Anish Ramasekar <anish.ramasekar@gmail.com>
2025-07-20 15:17:04 -05:00
Patrick Ohly
cbba3281a3 integration: fix etcd output handling
The code path for handling non-JSON output from etcd was broken:
- It did not skip over already parsed JSON output.
- It got stuck in the wrong for loop and repeatedly tried
  parsing the same non-JSON output. This prevented test shutdown.

Not sure why yet, but in the branch with DRA v1 graduation the following error
started to show up for the first time (?!):

     2025/07/18 19:24:48 WARNING: [core] [Server #3]grpc: Server.processUnaryRPC failed to write status: connection error: desc = "transport is closing"
2025-07-19 11:46:32 +02:00
Kubernetes Prow Robot
1b6a6cc9c0 Merge pull request #132910 from utam0k/scheduler-perf-memory-impl
scheduler_perf: Add memory tracking to performance tests
2025-07-18 21:38:32 -07:00
utam0k
9a4c0f9b2f scheduler_perf: Add memory tracking to performance tests
Signed-off-by: utam0k <k0ma@utam0k.jp>
2025-07-19 06:32:52 +09:00
Kubernetes Prow Robot
bfc6d87ac1 Merge pull request #133053 from serathius/jitter
Add jitter to priodically executed processes in storage to avoid too many concurrent executions
2025-07-18 14:08:32 -07:00
Marek Siarkowicz
79dc0b8a41 Add jitter to priodically executed process in storage to avoid too concurrent executions 2025-07-18 19:38:56 +02:00
Patrick Ohly
729cd583ad scheduler integration: fail test instead of existing
Calling klog.FlushAndExit causes the `go test` binary to quit
without properly recording which test failed. Both callers of
StartScheduler already have a ktesting.TContext, so switching
to that is easy and also reduces the number of parameters.
2025-07-18 09:43:04 +02:00
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