enhancements
enhancements copied to clipboard
DRA: ResourceSlice Mixins
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 https://github.com/kubernetes/enhancements/issues/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: https://github.com/kubernetes/enhancements/tree/master/keps/sig-scheduling/5234-dra-resourceslice-mixins
- Discussion Link: https://github.com/kubernetes/enhancements/issues/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
- [x] KEP (
k/enhancements) update PR(s): https://github.com/kubernetes/enhancements/pull/5238 - [ ] Code (
k/k) update PR(s): - [ ] Docs (
k/website) update PR(s):
- [x] KEP (
Please keep this description up to date. This will help the Enhancement Team to track the evolution of the enhancement efficiently.
/sig node /sig scheduling /wg device-management
/cc @pohly @klueska @johnbelamaric
/assign
Hi @mortent @klueska π, v1.34 Enhancements team here.
This is a reminder of the upcoming PRR Freeze on Thursday 12th June 2025.
By this date, there must be a PR open in k/enhancements with:
- The KEP's PRR questionnaire filled out.
- The kep.yaml updated with the
stage,latest-milestone, andmilestonestruct filled out. - A PRR approval file with the PRR approver listed for the stage the KEP is targeting.
Having the PRR questionnaire filled out by this deadline will help ensure that the PRR team has enough time to review your KEP before Enhancements Freeze on Friday 20th June 2025. For more information on the PRR process, see here.
Hello again @mortent :wave:, v1.34 Enhancements team here.
Just checking in as we approach enhancements freeze on 21:00 UTC Friday 20th June 2025 / 14:00 PST Friday 20th June 2025.
This enhancement is targeting stage beta for v1.34 (correct me, if otherwise)
Hereβs where this enhancement currently stands:
- [x] KEP readme using the latest template has been merged into the k/enhancements repo.
- [x] KEP status is marked as
implementableforlatest-milestone: v1.34. - [x] KEP readme has up-to-date graduation criteria.
- [x] KEP has submitted a production readiness review request for approval and has a reviewer assigned.
- [x] KEP has a production readiness review that has been completed and merged into k/enhancements. (For more information on the PRR process, check here).
With all the KEP requirements in place and merged into k/enhancements, this enhancement is all good for the upcoming enhancements freeze. :rocket:
The status of this enhancement is marked as Tracked for enhancements freeze. Please keep the issue description up-to-date with appropriate stages as well.
Thank you!
Hi @mortent @klueska π -- this is Graziano (@graz-dev) from the 1.34 Communications Team!
For the 1.34 release, we are currently in the process of collecting and curating a list of potential feature blogs, and we'd love for you to consider writing one for your enhancement!
As you may be aware, feature blogs are a great way to communicate to users about features which fall into (but not limited to) the following categories:
- This introduces some breaking change(s)
- This has significant impacts and/or implications to users
- ...Or this is a long-awaited feature, which would go a long way to cover the journey more in detail π
To opt in to write a feature blog, could you please let us know and open a "Feature Blog placeholder PR" (which can be only a skeleton at first) against the website repository by Friday 11th July? For more information about writing a blog, please find the blog contribution guidelines π
[!Tip] Some timeline to keep in mind:
- 02:00 UTC Friday 11th July 2025: Feature blog PR freeze
- Friday 8th August 2025: Feature blogs ready for review
- You can find more in the release document
[!Note] In your placeholder PR, use
XXcharacters for the blogdatein the front matter and file name. We will work with you on updating the PR with the publication date once we have a final number of feature blogs for this release.
Hello @mortent @klueska π, 1.34 Docs Shadow here!
Does this enhancement work planned for 1.34 require any new docs or modification to existing docs? If so, please follows the steps here to open a PR against dev-1.34 branch in the k/website repo. This PR can be just a placeholder at this time and must be created before Thursday 3rd July 2025 18:00 PDT.
Also, take a look at Documenting for a release to get yourself familiarize with the docs requirement for the release.
Thank you!
@rashansmith thanks for the reminder. I think at least we need basic documentation for the new FG, so I filed https://github.com/kubernetes/website/pull/51475 . There are holidays in NA currently (week ending with July 4), so I'll sync with @mortent afterwards to see what else we need or if basic docs are sufficient.
Placeholder PR for blog post covering all DRA updates (including this one): https://github.com/kubernetes/website/pull/51488
Hey again @mortent @klueska, v1.34 Enhancements team here,
Just checking in as we approach code freeze at 02:00 UTC Friday 25th July 2025.
Here's where this enhancement currently stands:
- [x] All PRs to the Kubernetes repo that are related to your enhancement are linked in the above issue description (for tracking purposes).
- [ ] All PRs are ready to be merged (they have
approvedandlgtmlabels applied) by the code freeze deadline. This includes tests.
For this enhancement, it looks like the following PRs need to be merged before code freeze:
- https://github.com/kubernetes/kubernetes/pull/131357
If the implementation work for this enhancement is occurring out-of-tree (i.e., outside of k/k), please link the relevant PRs in the issue description for visibility.
Alternatively, if you're unable to provide specific PR links, a confirmation that all out-of-tree implementation work is complete and merged will help us finalize tracking and maintain accuracy.
The status of this enhancement is marked as At risk for code freeze.
If you anticipate missing code freeze, you can file an exception request in advance.
Please let us know if there are other PRs in k/k we should be tracking for this KEP. As always, we are here to help if any questions come up. Thanks!
Hello @mortent @klueska, π please take a look at Documenting for a release - PR Ready for Review to get your PR ready for review before Tuesday July 29th 2025 18:00 PST. Thank you!
Due to some open questions and several other DRA features still in-flight for 1.34, we are punting this one to 1.35.
Hello @mortent π, v1.34 Enhancements team here,
Unfortunately, the implementation (code-related) PRs associated with this enhancement are not in the merge-ready state by code-freeze and hence this enhancement is now removed from the v1.34 milestone.
If you still wish to progress this enhancement in v1.34, please file an exception request as soon as possible, within three days. If you have any questions, you can reach out in the #release-enhancements channel on Slack and we'll be happy to help. Thanks!
/label tracked/no /milestone clear
Hi @mortent :wave:, v1.35 Enhancements Lead here.
I am closing the v1.34 milestone now.
If you'd like to work on this enhancement in v1.35, please have the SIG lead opt-in by adding the lead-opted-in label, which ensures it gets added to the tracking board. Also, please set the milestone to v1.35 using /milestone v1.35.
Thanks!
/remove-label lead-opted-in /remove-label tracked/no
@mortent @johnbelamaric do I understand correctly we're not planning on pushing this forward as it partially relies on partitionable devices rework happening, and there isn't the allocated development bandwidth?
Yeah, we decided to push this to 1.36 and focus on other things.
We should think about "device shapes" again, IMO. There are things beyond attributes, capacities, counter sets, and counter set consumption that will be repeated. For example, sharingPolicy from consumable capacity.