Repository navigation
Preparing the DRA support for the release - #858
Merged
Merged
Conversation
bart0sh
added this pull request to stack #807
October 17, 2026 20:22
There was a problem hiding this comment.
🔵 Needs a closer look
The asynchronous reconciliation changes warrant human review and race-enabled test validation, which was not performed here.
No open issues 🎉
What changed in this PR
Prepares topology-aware DRA support for release and addresses stale topology reporting after claim changes.
Changes:
- Serializes NRT updates with periodic reconciliation and adds fake-client tests.
- Adds a Helm-managed DeviceClass and removes duplicate e2e fixtures.
- Documents DRA requirements, claims, memory policies, and limitations.
| File | Description |
|---|---|
| test/e2e/policies.test-suite/topology-aware/n4c16/test45-dra-memory-policy/deviceclass.yaml.in | Removes duplicate DeviceClass fixture. |
| test/e2e/policies.test-suite/topology-aware/n4c16/test45-dra-memory-policy/code.var.sh | Uses Helm-managed DeviceClass lifecycle. |
| test/e2e/policies.test-suite/topology-aware/n4c16/test42-dra-devices/deviceclass.yaml.in | Removes duplicate DeviceClass fixture. |
| test/e2e/policies.test-suite/topology-aware/n4c16/test42-dra-devices/code.var.sh | Uses Helm-managed DeviceClass lifecycle. |
| pkg/agent/nrtapi/nrtapi.go | Exposes client interface for tests. |
| pkg/agent/node-resource-topology.go | Reconciles the latest desired topology. |
| pkg/agent/node-resource-topology_test.go | Tests ordering, coalescing, and drift recovery. |
| pkg/agent/node-extended-resources.go | Adopts shared reconciliation infrastructure. |
| pkg/agent/agent.go | Adds shared worker logic and synchronized NRT state. |
| docs/resource-policy/policy/topology-aware.md | Documents topology-aware DRA support. |
| deployment/helm/topology-aware/templates/deviceclass.yaml | Creates DeviceClass when DRA is enabled. |
Review effort: Balanced
bart0sh
force-pushed
the
stacked/bart0sh/DRA/013-prepare-for-release
branch
from
October 17, 2026 20:31
1a735cc to
da1c035
Compare
bart0sh
force-pushed
the
stacked/bart0sh/DRA/013-prepare-for-release
branch
2 times, most recently
from
October 18, 2026 06:00
651d28f to
f8d8fb7
Compare
bart0sh
force-pushed
the
stacked/bart0sh/DRA/013-prepare-for-release
branch
from
October 18, 2026 06:17
f8d8fb7 to
4b5a7e8
Compare
bart0sh
force-pushed
the
stacked/bart0sh/DRA/013-prepare-for-release
branch
from
October 18, 2026 06:19
4b5a7e8 to
4514362
Compare
bart0sh
marked this pull request as ready for review
October 18, 2026 14:51
bart0sh
force-pushed
the
stacked/bart0sh/DRA/013-prepare-for-release
branch
from
October 18, 2026 16:07
4514362 to
4749e2d
Compare
bart0sh
force-pushed
the
stacked/bart0sh/DRA/013-prepare-for-release
branch
from
October 19, 2026 11:33
4749e2d to
741f259
Compare
bart0sh
force-pushed
the
stacked/bart0sh/DRA/013-prepare-for-release
branch
from
October 19, 2026 12:15
741f259 to
2906ea2
Compare
Collaborator
|
@bart0sh This looks good to me. Some of the commit messages could use a skill-based shortening, but that's a bit of cosmetics, not anything to do with real content. |
bart0sh
force-pushed
the
stacked/bart0sh/DRA/013-prepare-for-release
branch
2 times, most recently
from
October 19, 2026 12:56
9e33400 to
ed3e5b5
Compare
bart0sh
force-pushed
the
stacked/bart0sh/DRA/013-prepare-for-release
branch
from
October 19, 2026 12:59
ed3e5b5 to
e8227f2
Compare
bart0sh
force-pushed
the
stacked/bart0sh/DRA/013-prepare-for-release
branch
2 times, most recently
from
October 19, 2026 13:11
60a6ce1 to
e32aa5f
Compare
bart0sh
force-pushed
the
stacked/bart0sh/DRA/013-prepare-for-release
branch
from
October 19, 2026 13:30
e32aa5f to
7cbfcec
Compare
bart0sh
force-pushed
the
stacked/bart0sh/DRA/013-prepare-for-release
branch
2 times, most recently
from
October 19, 2026 14:29
6ae8756 to
c651004
Compare
bart0sh
force-pushed
the
stacked/bart0sh/DRA/013-prepare-for-release
branch
from
October 19, 2026 14:45
c651004 to
7072325
Compare
bart0sh
force-pushed
the
stacked/bart0sh/DRA/013-prepare-for-release
branch
from
October 19, 2026 14:50
7072325 to
06c7111
Compare
klihub
force-pushed
the
stacked/bart0sh/DRA/013-prepare-for-release
branch
from
October 19, 2026 15:04
06c7111 to
770497f
Compare
bart0sh
force-pushed
the
stacked/bart0sh/DRA/013-prepare-for-release
branch
from
October 20, 2026 06:22
770497f to
5b290c0
Compare
Base automatically changed from
stacked/bart0sh/DRA/012-claim-memory-policy
to
main
October 20, 2026 10:15
Every update of the node resource topology CR ran in its own goroutine, so an older snapshot could be written last, and after a DRA claim was released the CR could keep the zones from before the release. One worker now writes the latest snapshot only, and re-checks the CR every 30 seconds, so a failed write is retried and a changed CR is healed. Signed-off-by: Ed Bartosh <eduard.bartosh@intel.com>
The chart adds a DeviceClass for the topology-aware driver when DRA is enabled, so claims can select its devices without a class written by hand. The e2e tests created the class themselves; they use the chart's now. Signed-off-by: Ed Bartosh <eduard.bartosh@intel.com>
Add a DRA section to the topology-aware policy documentation: the requirements, the devices and their attributes, claims, how containers run on claimed CPUs, the memory policy of a claim, and the known limitations. Signed-off-by: Ed Bartosh <eduard.bartosh@intel.com>
askervin
force-pushed
the
stacked/bart0sh/DRA/013-prepare-for-release
branch
from
October 20, 2026 10:16
5b290c0 to
bdcb989
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

The Helm chart now creates the
DeviceClassfor the topology-aware driver whenconfig.dra.enabledis true, as the template chart does. test42 and test45 use it instead of a copy of their own. The topology-aware policy documentation gets a DRA section: the requirements, the devices and their attributes, claims, how containers run on claimed CPUs, the memory policy of a claim, and the known limitations.The PR also fixes a race in the node resource topology (NRT) updates which the claim path made visible. Every update of the NRT CR ran in its own goroutine, so an older snapshot could be written last, and after a claim was released the CR could keep the zones from before the release. One worker now writes the latest snapshot only and re-checks the CR every 30 seconds. Raised by Copilot on #829 (#829 (comment)).