Skip to content

KEP-5945: DRA Optional Node Preparation#6104

Open
troychiu wants to merge 1 commit into
kubernetes:masterfrom
troychiu:5945-Node-Local-Resource-Lifecycle
Open

KEP-5945: DRA Optional Node Preparation#6104
troychiu wants to merge 1 commit into
kubernetes:masterfrom
troychiu:5945-Node-Local-Resource-Lifecycle

Conversation

@troychiu
Copy link
Copy Markdown

@troychiu troychiu commented May 22, 2026

  • One-line PR description: This KEP introduces Optional Node Preparation to Dynamic Resource Allocation (DRA), allowing a DeviceClass to declare that node preparation is not required.
  • Other comments: Gemini helped create this PR

@k8s-ci-robot
Copy link
Copy Markdown
Contributor

Skipping CI for Draft Pull Request.
If you want CI signal for your change, please convert it to an actual PR.
You can still manually trigger a test run with /test all

@k8s-ci-robot k8s-ci-robot added the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label May 22, 2026
@k8s-ci-robot k8s-ci-robot added cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. kind/kep Categorizes KEP tracking issues and PRs modifying the KEP directory sig/node Categorizes an issue or PR as relevant to SIG Node. size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. labels May 22, 2026
@troychiu troychiu force-pushed the 5945-Node-Local-Resource-Lifecycle branch 2 times, most recently from c1accea to 460d02e Compare May 28, 2026 22:32
@troychiu troychiu changed the title WIP DRA: Optional Node Preparation May 28, 2026
@k8s-ci-robot k8s-ci-robot added size/L Denotes a PR that changes 100-499 lines, ignoring generated files. and removed size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. labels May 28, 2026
@troychiu troychiu changed the title DRA: Optional Node Preparation KEP-5945: DRA Optional Node Preparation May 28, 2026
@troychiu troychiu marked this pull request as ready for review May 28, 2026 22:35
@k8s-ci-robot k8s-ci-robot removed the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label May 28, 2026
@k8s-ci-robot k8s-ci-robot requested a review from dchen1107 May 28, 2026 22:35
@troychiu troychiu force-pushed the 5945-Node-Local-Resource-Lifecycle branch from 460d02e to e9d141d Compare May 28, 2026 23:22

## Summary

This KEP introduces **Optional Node Preparation** to Dynamic Resource Allocation (DRA), allowing a `DeviceClass` to declare that node preparation is not required. Currently, the kubelet assumes it must always coordinate with a node-local DRA driver via gRPC to prepare allocated devices before container start (`NodePrepareResources`), and to unprepare them during pod termination (`NodeUnprepareResources`).
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why DeviceClass? I think it probably should be the Device (ie, the ResourceSlice). The driver author should know if it needs preparation. DeviceClass is for the cluster administrator, who could easily make a mistake with this being at that level.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah what you mentioned makes sense to me. I updated the KEP to introduce fields in ResourceSlice. Placing them on Device seems repetitive and might inflate the size of ResourceSlice instance. We can always add them to Device if there are use cases.

Comment thread keps/sig-node/5945-dra-optional-node-preparation/README.md Outdated
Comment thread keps/sig-node/5945-dra-optional-node-preparation/README.md
Comment thread keps/sig-node/5945-dra-optional-node-preparation/README.md Outdated
@troychiu troychiu force-pushed the 5945-Node-Local-Resource-Lifecycle branch from 2a44fde to d091764 Compare May 29, 2026 23:18
@k8s-ci-robot
Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: troychiu
Once this PR has been reviewed and has the lgtm label, please assign dchen1107, jpbetz for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@troychiu troychiu requested a review from johnbelamaric June 2, 2026 00:17
@troychiu
Copy link
Copy Markdown
Author

troychiu commented Jun 2, 2026

/wg device-management

@k8s-ci-robot k8s-ci-robot added the wg/device-management Categorizes an issue or PR as relevant to WG Device Management. label Jun 2, 2026
Copy link
Copy Markdown
Member

@johnbelamaric johnbelamaric left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM from the DRA perspective, have not reviewed the PRR section yet

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. kind/kep Categorizes KEP tracking issues and PRs modifying the KEP directory sig/node Categorizes an issue or PR as relevant to SIG Node. size/L Denotes a PR that changes 100-499 lines, ignoring generated files. wg/device-management Categorizes an issue or PR as relevant to WG Device Management.

Projects

Status: 🆕 New

Development

Successfully merging this pull request may close these issues.

3 participants