Skip to content

OSDOCS Node DRA: Consumable Capacity GA enablement - #119614

Open
mburke5678 wants to merge 7 commits into
openshift:mainfrom
mburke5678:node-dra-consumable-capacity
Open

mburke5678 wants to merge 7 commits into
openshift:mainfrom
mburke5678:node-dra-consumable-capacity

Conversation

@mburke5678

Copy link
Copy Markdown
Contributor

https://redhat.atlassian.net/browse/OSDOCS-22103

Link to docs preview:

QE review:

  • QE has approved this change.

@mburke5678 mburke5678 added this to the OCP 5.0 GA milestone Sep 9, 2026
@openshift-ci openshift-ci Bot added the size/M Denotes a PR that changes 30-99 lines, ignoring generated files. label Sep 9, 2026
@ocpdocs-previewbot

ocpdocs-previewbot commented Sep 9, 2026

Copy link
Copy Markdown

🤖 Mon Sep 14 15:31:36 - Prow CI generated the docs preview:

https://119614--ocpdocs-pr.netlify.app/openshift-enterprise/latest/nodes/pods/nodes-pods-allocate-dra.html

Comment thread modules/nodes-pods-allocate-dra-configure-about.adoc Outdated
@openshift-ci openshift-ci Bot added size/L Denotes a PR that changes 100-499 lines, ignoring generated files. and removed size/M Denotes a PR that changes 30-99 lines, ignoring generated files. labels Sep 9, 2026
+
When a resource claim is created and used in a pod, {product-title} uses the resource slices to find nodes that have the requested resources. After finding an eligible resource slice for the resource claim, the {product-title} scheduler updates the resource claim with the allocation details, allocates resources to the resource claim, and schedules the pod onto a node that can access the resources.
+
You can define these slices by partitioning a device explicitly or allow the {product-title} scheduler to automatically define the slices.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

This is new.

+
Logical devices can specify the `consumesCounters` list in a resource slice. Each entry contains a reference to a counter set and a set of named counters with the amounts they can consume.
+
In the following example, the `resource-driver.example.com` DRA driver is sharing 40Gi of memory through the `gpu-0-counter-set` counter set in the `counter-slice` object. The `device-slice` object makes this memory available as a full device named _gpu-0_ or either of two partitioned devices named _gpu-0-partition-0_ and _gpu-0-partition-1_. Each device has a capacity and declares how much it consumes from the counter when allocated, either 40Gi for the full device or 20Gi of memory for each partition. You can allocate the memory by using either the full device or the partitions, but not both, enforcing mutual exclusivity between a full device and its partitions. When _gpu-0_ is allocated, the GPU consumes all 40Gi from the counter set, leaving 0Gi for the partitions.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

This text is existing. I added it to a definition list.

`spec.devices.consumesCounters`:: Specifies how much of a shared counter set the device consumes if allocated.
+
--
+

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

The following text is all new.

+
--
* *Resource template claim for partitioned devices*
+

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

The following is existing text added to a definition list.


`spec.devices.requests.exactly.selectors` or `spec.devices.requests.firstAvailable.selectors`:: Specifies CEL expressions to request specific devices from the specified device class.
--
+

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

The following text is new.

@mburke5678

Copy link
Copy Markdown
Contributor Author

@bitoku Can you PTAL? Does this cover what the user needs in order to use the consumable capacity DRA feature?

Comment thread modules/nodes-pods-allocate-dra-configure-about.adoc Outdated
Comment thread modules/nodes-pods-allocate-dra-configure-about.adoc Outdated
Comment thread modules/nodes-pods-allocate-dra-configure-about.adoc Outdated
Comment thread modules/nodes-pods-allocate-dra-configure-about.adoc Outdated
+
When a resource claim is created and used in a pod, {product-title} uses the resource slices to find nodes that have the requested resources. After finding an eligible resource slice for the resource claim, the {product-title} scheduler updates the resource claim with the allocation details, allocates resources to the resource claim, and schedules the pod onto a node that can access the resources.
+
You can define these slices by partitioning a device explicitly or allow the {product-title} scheduler to automatically define the slices.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Is this doc for users or dra driver developers?
DRA driver publishes resource slices, so users normally can't define slices.
Also the scheduler doesn't define slices. It just manages how much the capacity is consumed.

https://kubernetes.io/docs/concepts/resource-management/dynamic-resource-allocation/dra-features/#consumable-capacity

The consumable capacity feature allows the same devices to be consumed by multiple independent ResourceClaims, with the Kubernetes scheduler managing how much of the device's capacity is used up by each claim.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

The docs are for users not DRA driver developers. I wanted to show what folks can do with DRA and what the objects look like.

Comment thread modules/nodes-pods-allocate-dra-configure.adoc
Michael Burke added 2 commits September 14, 2026 10:30
@openshift-ci

openshift-ci Bot commented Sep 14, 2026

Copy link
Copy Markdown

@mburke5678: all tests passed!

Full PR test history. Your PR dashboard.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.

@mburke5678

Copy link
Copy Markdown
Contributor Author

@BhargaviGudi PTAL

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

Labels

branch/enterprise-5.0 size/L Denotes a PR that changes 100-499 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants