Skip to content

Preparing the DRA support for the release - #858

Merged
askervin merged 3 commits into
mainfrom
stacked/bart0sh/DRA/013-prepare-for-release
Oct 20, 2026
Merged

askervin merged 3 commits into
mainfrom
stacked/bart0sh/DRA/013-prepare-for-release

Conversation

@bart0sh

@bart0sh bart0sh commented Oct 17, 2026 •

Copy link
Copy Markdown
Collaborator

The Helm chart now creates the DeviceClass for the topology-aware driver when config.dra.enabled is 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)).

@bart0sh
bart0sh added this pull request to stack #807 October 17, 2026 20:22
@bart0sh bart0sh changed the title stacked/bart0sh/DRA/013 prepare for release DRA: add a topology-aware DeviceClass and documentation, fix the NRT update order Oct 17, 2026
@bart0sh bart0sh changed the title DRA: add a topology-aware DeviceClass and documentation, fix the NRT update order Preparing the DRA support for the release Oct 17, 2026
@bart0sh
bart0sh requested a balanced review from Copilot October 17, 2026 20:27

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🔵 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
bart0sh force-pushed the stacked/bart0sh/DRA/013-prepare-for-release branch from 1a735cc to da1c035 Compare October 17, 2026 20:31
@bart0sh
bart0sh force-pushed the stacked/bart0sh/DRA/013-prepare-for-release branch 2 times, most recently from 651d28f to f8d8fb7 Compare October 18, 2026 06:00
@bart0sh
bart0sh requested a balanced review from Copilot October 18, 2026 06:01

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟢 Approval recommended

No blocking implementation issues were identified; the remaining documentation correction is non-blocking.

1 open issue

Review effort: Balanced

Comment thread docs/resource-policy/policy/topology-aware.md Outdated
@bart0sh
bart0sh force-pushed the stacked/bart0sh/DRA/013-prepare-for-release branch from f8d8fb7 to 4b5a7e8 Compare October 18, 2026 06:17
@bart0sh
bart0sh force-pushed the stacked/bart0sh/DRA/013-prepare-for-release branch from 4b5a7e8 to 4514362 Compare October 18, 2026 06:19
@bart0sh
bart0sh requested a balanced review from Copilot October 18, 2026 06:20

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟢 Approval recommended

Static review identified no blocking issues in the reconciliation, Helm integration, tests, or documentation; tests were not executed.

No open issues 🎉

1 resolved since last review

Review effort: Balanced

@bart0sh
bart0sh marked this pull request as ready for review October 18, 2026 14:51
@bart0sh
bart0sh force-pushed the stacked/bart0sh/DRA/013-prepare-for-release branch from 4514362 to 4749e2d Compare October 18, 2026 16:07
@bart0sh
bart0sh requested review from askervin and klihub October 19, 2026 06:36
@bart0sh
bart0sh force-pushed the stacked/bart0sh/DRA/013-prepare-for-release branch from 4749e2d to 741f259 Compare October 19, 2026 11:33
@bart0sh
bart0sh force-pushed the stacked/bart0sh/DRA/013-prepare-for-release branch from 741f259 to 2906ea2 Compare October 19, 2026 12:15
@klihub

klihub commented Oct 19, 2026

Copy link
Copy Markdown
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
bart0sh force-pushed the stacked/bart0sh/DRA/013-prepare-for-release branch 2 times, most recently from 9e33400 to ed3e5b5 Compare October 19, 2026 12:56
@bart0sh
bart0sh force-pushed the stacked/bart0sh/DRA/013-prepare-for-release branch from ed3e5b5 to e8227f2 Compare October 19, 2026 12:59
@bart0sh
bart0sh force-pushed the stacked/bart0sh/DRA/013-prepare-for-release branch 2 times, most recently from 60a6ce1 to e32aa5f Compare October 19, 2026 13:11
@bart0sh
bart0sh force-pushed the stacked/bart0sh/DRA/013-prepare-for-release branch from e32aa5f to 7cbfcec Compare October 19, 2026 13:30
@bart0sh
bart0sh force-pushed the stacked/bart0sh/DRA/013-prepare-for-release branch 2 times, most recently from 6ae8756 to c651004 Compare October 19, 2026 14:29
@bart0sh
bart0sh force-pushed the stacked/bart0sh/DRA/013-prepare-for-release branch from c651004 to 7072325 Compare October 19, 2026 14:45
@bart0sh
bart0sh force-pushed the stacked/bart0sh/DRA/013-prepare-for-release branch from 7072325 to 06c7111 Compare October 19, 2026 14:50
@klihub
klihub force-pushed the stacked/bart0sh/DRA/013-prepare-for-release branch from 06c7111 to 770497f Compare October 19, 2026 15:04

@klihub klihub left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

This LGTM.

@bart0sh
bart0sh force-pushed the stacked/bart0sh/DRA/013-prepare-for-release branch from 770497f to 5b290c0 Compare October 20, 2026 06:22

@askervin askervin left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

LGTM

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
askervin force-pushed the stacked/bart0sh/DRA/013-prepare-for-release branch from 5b290c0 to bdcb989 Compare October 20, 2026 10:16
@askervin
askervin merged commit 01bda49 into main Oct 20, 2026
15 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants