Commit Graph

14 Commits

Author SHA1 Message Date
Kubernetes Prow Robot
b37c609b90 Merge pull request #122276 from pohly/dra-patch-reserved-for
dra: enable adding ReservedFor entries through strategic-merge-patch
2024-01-24 18:46:09 +01:00
Patrick Ohly
324816a883 dra: enable adding ReservedFor entries through strategic-merge-patch
When moving the reservation of a claim for a pod into the PreBind phase in a
future commit, multiple different update attempts will be executed
concurrently. We want an attempt to succeed if and only if adding the entry
passes validation. Without patch strategy and key, strategic-merge-patch
replaces the entire ReservedFor instead of adding new entries.

Server-side-apply cannot be used because each attempt may start with a stale
ResourceClaim (thus cannot send the entire ReservedFor) and SSA doesn't support
merging when using the same manager string. Using different managers (one for
each entry) would work, but sounds like a bad hack.
2023-12-12 14:05:34 +01:00
Tim Hockin
cfe146615a Fix list_type_missing in api/core 2023-11-27 12:06:28 -08:00
Tim Hockin
44060fb1f3 Fix "list_type_missing" API violations in meta/v1
This assumes that any such field is atomic, except:
  * OwnerReferences: because it has a `+patchStrategy=merge`, but it
    probably needs a `+listMapKey=...` ?
  * Finalizers: because it hs a `+patchStrategy=merge`, but is a
    primitive type (string).
  * []byte fields, which should not be failing this anyway (fixed
    subsequently).

An alternative approach could be just to turn off the API warnings for
these fields, but it felt more correct to declare the semantics.
2023-11-27 12:05:52 -08:00
Abu Kashem
5972037ffd apiserver: generate code for apf flowcontrol v1 API
run:
- hack/update-codegen.sh
- hack/update-openapi-spec.sh
2023-10-30 07:48:22 -04:00
Alexander Zielenski
0a6d9531f4 update generated code and openapi 2023-10-18 16:07:06 -07:00
carlory
75f20ee64d update pretty param description 2023-10-18 13:45:43 +08:00
Jefftree
83760ae56c update openapi with required requestBody 2023-10-11 11:11:51 -04:00
SataQiu
2825519da2 apf: remove v1alpha1 API 2023-08-30 20:48:42 +08:00
Patrick Ohly
5567f288e7 api: change list type for node lists in PodSchedulingContext
The "set" list type was chosen because it seemed appropriate (no duplicates!)
but that made tracking of managed fields more expensive (each entry in the list
is tracked, not the entire field) and for no good reason (one client is
responsible for the entire list).

Therefore the type gets changed to "atomic". Server-side-apply has not been
used in the past and PodSchedulingContext objects are short-lived and still in
alpha, so the any potential compatibility issues should be minor.

The scheduling throughput in scheduler_perf increases:

    name                                                                      old SchedulingThroughput/Average     new SchedulingThroughput/Average
    PerfScheduling/SchedulingWithResourceClaimTemplate/2000pods_100nodes-36   18.8 ± 8%                            24.0 ±37%
    PerfScheduling/SchedulingWithMultipleResourceClaims/2000pods_100nodes-36  13.7 ±81%                            18.5 ±40%
2023-08-17 10:10:03 +02:00
Taahir Ahmed
2e4b637bf8 ClusterTrustBundles: make update 2023-03-15 20:10:59 -07:00
Kevin Klues
452f345c47 Update generated code for resource.k8s.io/v1alpha2
Signed-off-by: Kevin Klues <kklues@nvidia.com>
2023-03-14 22:41:44 +00:00
Patrick Ohly
2b8a4e8097 api: generated files for PodSchedulingContext 2023-03-14 10:18:08 +01:00
Patrick Ohly
29941b8d3e api: resource.k8s.io v1alpha1 -> v1alpha2
For Kubernetes 1.27, we intend to make some breaking API changes:
- rename PodScheduling -> PodSchedulingHints (https://github.com/kubernetes/kubernetes/issues/114283)
- extend ResourceClaimStatus (https://github.com/kubernetes/enhancements/pull/3802)

We need to switch from v1alpha1 to v1alpha2 for that.
2023-03-14 07:52:03 +01:00