Description
Enhancement Description
DRA requires that drivers publish all available devices on a node/cluster in ResourceSlice objects. There are scenarios where the number of devices can be pretty large and each device might have a relatively large amount of metadata associated with it, primarily in the form of Attributes or Capacity. This has a few consequences:
- Several of the devices might have similar metadata, resulting in a lot of duplication between the published devices.
- The size of the data required to specify each device reduces the number of devices that can be defined in a single ResourceSlice without hitting the Kubernetes size limit.
The latter can be addressed by splitting the devices across multiple ResourceSlices within a single pool, but that isn't always an option. In particular, DRA currently doesn't allow sharing counters across ResourceSlices.
Mixins provides a way to define shared metadata for devices or counter sets separately from devices and then include them by reference. This enables less duplication of information in ResourceSlices and smaller footprint for each device in terms of size.
This was originally part of #4815, but missed the 1.33 deadline, so this functionality is being split out into a separate KEP.
- One-line enhancement description (can be used as a release note): Enable Devices and CounterSets in DRA ResourceSlices to include attributes, capacity and consumed counters by referencing mixins.
- Kubernetes Enhancement Proposal: TBD
- Discussion Link: DRA: Add support for partitionable devices #4815
- Primary contact (assignee): @mortent @klueska
- Responsible SIGs: Scheduling, Node
- Enhancement target (which target equals to which milestone):
- Alpha release target (x.y): 1.34
- Beta release target (x.y): 1.35
- Stable release target (x.y): 1.36
- Alpha
- KEP (
k/enhancements
) update PR(s): - Code (
k/k
) update PR(s): - Docs (
k/website
) update PR(s):
- KEP (
Please keep this description up to date. This will help the Enhancement Team to track the evolution of the enhancement efficiently.
Metadata
Metadata
Assignees
Labels
Type
Projects
Status
Status
Status