@@ -149,9 +149,8 @@ scheduler when selecting devices for user requests in ResourceClaims.
149
149
150
150
With this KEP, DRA drivers can define metadata in mixins separately from specific
151
151
devices and include them in a device by reference. This reduces the duplication
152
- in ResourceSlices and allows for more compact device definitions. It also enables
153
- defining devices with more attributes, capacities and consumed counters than without
154
- mixins. Mixins can also be used in counter sets.
152
+ in ResourceSlices and allows for more compact device definitions. Mixins can
153
+ also be used in counter sets.
155
154
156
155
## Motivation
157
156
@@ -188,7 +187,7 @@ also limits the number of partitionable devices for a single physical device.
188
187
users see the flattened device definitions. Mixins does make it harder to find
189
188
the full definition for a specific device, so this might be added to the scope
190
189
for Beta or GA.
191
- - Enable devices to have more than 32 attributes and capacities. Increasing this
190
+ - Enable devices to have more than 32 attributes and capacities. Increasing this would
192
191
have implications for the CEL cost functions, so we are not looking to increase
193
192
the limits as part of this KEP.
194
193
@@ -268,7 +267,7 @@ This will not negatively effect existing scheduling performance of existing
268
267
ResourceSlice definitions, but DRA driver authors taking advantage of mixins should
269
268
be made aware of possible performance effects due to this increased referential complexity.
270
269
271
- This also demonstrates that DRA driver authors should consider performancer when they
270
+ This also demonstrates that DRA driver authors should consider performance when they
272
271
write drivers and decide how to structure devices into ResourceSlices and pools. Information
273
272
and best-practices about how to write drivers are available in
274
273
https://github.com/kubernetes-sigs/dra-example-driver and this will also include information
@@ -364,7 +363,7 @@ type DeviceMixin struct {
364
363
//
365
364
// The maximum number of attributes and capacities across all devices
366
365
// and device mixins in a ResourceSlice is 4096. When flattened, the
367
- // total number of attributes and capacities for each device can not
366
+ // total number of attributes and capacities for each device must not
368
367
// exceed 32.
369
368
//
370
369
// +optional
@@ -379,7 +378,7 @@ type DeviceMixin struct {
379
378
//
380
379
// The maximum number of attributes and capacities across all devices
381
380
// and device mixins in a ResourceSlice is 4096. When flattened, the
382
- // total number of attributes and capacities for each device can not
381
+ // total number of attributes and capacities for each device must not
383
382
// exceed 32.
384
383
//
385
384
// +optional
@@ -503,7 +502,7 @@ The ResourceSlice-wide limits will be:
503
502
* Total number of counters is 256.
504
503
* Total number of consumed counters is 2048 (so with the maximum number of devices, there can be 16 per device).
505
504
506
- We will still enforce some per-slice limits:
505
+ We will still enforce some per-field limits:
507
506
* The number of mixins that can be referenced from each device, counter set or device counter consumption is 8.
508
507
* The number of taints per device is 4.
509
508
@@ -513,8 +512,10 @@ We will also enforce one limit on the flattened device:
513
512
514
513
The limits on the number of counters across counter sets, mixins and device counter consumption in 1.33 for the
515
514
Partitionable Devices KEP will be removed, as those are still in alpha.
516
- The limit of 32 on the number of attributes and capacities per device will be removed over the next 2 releases (1.34 and 1.35) to
517
- preserve safe rollbacks.
515
+ The current limit on the total number of attributes and capacities per device will be adjusted a bit to
516
+ be enforced on the device with mixins applied, rather than just based on what is defined directly on a device. This
517
+ doesn't change the current behavior since a device with more than 32 attributes/capacities defined directly
518
+ on the device will always fail the updated validation rule.
518
519
519
520
With these limits, the worst-case size for a ResourceSlice increases from 1,107,864 bytes to 1,288,825 bytes.
520
521
@@ -576,7 +577,7 @@ https://storage.googleapis.com/k8s-triage/index.html
576
577
We expect no non-infra related flakes in the last month as a GA graduation criteria.
577
578
-->
578
579
579
- E2e tests will be added to verify that the mixins are properly flattened and
580
+ E2e tests will be added to verify that the mixins are properly applied and
580
581
used by the scheduler.
581
582
582
583
### Graduation Criteria
@@ -891,7 +892,7 @@ For each of them, fill in the following information by copying the below templat
891
892
## Implementation History
892
893
893
894
- 1.33: first KEP revision as part of the Partitionable Devices KEP
894
- - 1.34: split out into a separate KEP and initial implementation.
895
+ - 1.34: split out into a separate KEP
895
896
896
897
## Drawbacks
897
898
0 commit comments