Skip to content

docs(api): separate host DPU policy from observed device mode#3473

Open
chet wants to merge 1 commit into
NVIDIA:mainfrom
chet:gh-issue-3472
Open

docs(api): separate host DPU policy from observed device mode#3473
chet wants to merge 1 commit into
NVIDIA:mainfrom
chet:gh-issue-3472

Conversation

@chet

@chet chet commented Jul 14, 2026

Copy link
Copy Markdown
Contributor

The provisioning, ingestion, Flat VPC, glossary, metrics, and admin CLI docs now use HostDpuPolicy::{Manage, Nic, Ignore} for desired behavior and BlueFieldOperatingMode::{Dpu, Nic} for observed hardware state.

Canonical configuration and JSON use dpu_policy = "nic"; canonical CLI examples use --dpu-policy nic. The previous use_as_nic / use-as-nic values remain documented as accepted aliases.

The Forge compatibility contract is explicit: direct gRPC clients continue to use ExpectedMachine.dpu_mode field 16 and the original DpuMode values, which NICo translates into the internal policy vocabulary at the RPC boundary. Legacy configuration, admin JSON, and CLI inputs remain documented alongside the canonical vocabulary.

This is the separately reviewed documentation companion to #3453 and must merge after #3453. Until the code PR lands, this docs branch intentionally documents config, CLI, and model names introduced there.

Validation:

  • cargo make format-nightly
  • cargo make clippy
  • cargo make carbide-lints
  • git diff --check
  • Pandoc parsing of every changed Markdown file
  • link, anchor, generated CLI reference, and compatibility-vocabulary review

This supports #3472

@chet
chet requested a review from polarweasel as a code owner July 14, 2026 05:20
@coderabbitai

coderabbitai Bot commented Jul 14, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review

Walkthrough

The documentation standardizes DPU configuration on dpu_policy, distinguishes policy intent from observed operating mode, documents legacy compatibility mappings, and updates CLI, provisioning, glossary, metrics, navigation, and development references.

Changes

DPU policy documentation

Layer / File(s) Summary
Policy terminology and host configuration
docs/glossary.md, docs/provisioning/ingesting-hosts.md, docs/observability/core_metrics.md, crates/site-explorer/src/metrics.rs
Defines Host DPU Policy, operating-mode distinctions, inheritance and compatibility aliases, zero-DPU semantics, and use_as_nic migration signals.
CLI and zero-DPU operator guidance
docs/manuals/nico-admin-cli/commands/expected-machine/*, docs/manuals/vpc/flat_vpcs_zero_dpu.md
Documents --dpu-policy, policy values, legacy flag mappings, precedence, rack-manager behavior, operational updates, allocation, and verification.
Provisioning policy workflows
docs/provisioning/boot-interfaces-and-dpu-modes.md, docs/index.yml
Updates policy defaults, resolution rules, scenarios, boot behavior, troubleshooting, UI boundaries, CLI examples, and navigation title.
Development workflow documentation
docs/development/new_hardware_support.md
Updates the boot-interface reference and reorders optional BMC mock-coverage steps.

Estimated code review effort: 2 (Simple) | ~15 minutes

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Title check ✅ Passed The title clearly reflects the main change: separating desired DPU policy from observed device mode in docs.
Description check ✅ Passed The description is directly related to the documentation updates, even if some terminology details differ from the diff.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Comment @coderabbitai help to get the list of available commands.

@chet

chet commented Jul 14, 2026

Copy link
Copy Markdown
Contributor Author

@coderabbitai full_review, thanks!

@coderabbitai

coderabbitai Bot commented Jul 14, 2026

Copy link
Copy Markdown
Contributor

@chet Sounds good, I'll perform a full review of all the changes in this PR.

ʘ‿ʘ

✅ Action performed

Full review finished.

@github-actions

Copy link
Copy Markdown

@github-actions

github-actions Bot commented Jul 14, 2026

Copy link
Copy Markdown

🔍 Container Scan Summary

Service Total Critical High Medium Low Other
boot-artifacts-aarch64 3 0 0 3 0 0
boot-artifacts-x86_64 3 0 0 3 0 0
forge-admin-cli-x86_64 259 16 29 79 7 128
machine-a-tron 181 7 17 52 6 99
machine-validation-runner 532 39 113 184 15 181
machine_validation 532 39 113 184 15 181
machine_validation-aarch64 532 39 113 184 15 181
nvmetal-carbide 532 39 113 184 15 181
TOTAL 2574 179 498 873 73 951

Per-CVE detail lives in the per-service grype-* artifacts (JSON + SARIF). Severity counts only — no CVE IDs published here.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@docs/manuals/vpc/flat_vpcs_zero_dpu.md`:
- Around line 103-143: Update all listed documentation sites to use the existing
DpuMode/dpu_mode contract until the policy rename lands: replace dpu_policy,
HostDpuPolicy, and --dpu-policy guidance with the current dpu_mode/DpuMode names
and CLI values, while preserving legacy behavior descriptions. Apply the
corresponding updates in docs/manuals/vpc/flat_vpcs_zero_dpu.md (lines 103-143,
73-74, and 416-418), docs/glossary.md (lines 54-61 and 159),
docs/provisioning/ingesting-hosts.md (line 192),
docs/manuals/nico-admin-cli/commands/expected-machine/expected-machine-add.md
(lines 19-20, 117-131, and 164), and expected-machine-patch.md (lines 20-21,
123-137, and 170).

In `@docs/provisioning/boot-interfaces-and-dpu-modes.md`:
- Around line 53-73: The guide must match the implemented DPU-policy contract:
document legacy dpu_mode and --dpu-mode names with their mappings, and use
accepted CLI flags and payload fields. Update
docs/provisioning/boot-interfaces-and-dpu-modes.md lines 53-73, 97, 115,
129-137, 148-152, 161-165, 174-181, and 197-200; retain
ExpectedMachine.dpu_mode, correct the add and patch flags, update all zero-DPU,
NIC-mode, and managed-DPU payloads, and correct the admin-CLI reference table.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 25e4efc6-d359-4d69-8126-1474e6bbb303

📥 Commits

Reviewing files that changed from the base of the PR and between da30d63 and 664d165.

📒 Files selected for processing (9)
  • docs/development/new_hardware_support.md
  • docs/glossary.md
  • docs/index.yml
  • docs/manuals/nico-admin-cli/commands/expected-machine/expected-machine-add.md
  • docs/manuals/nico-admin-cli/commands/expected-machine/expected-machine-patch.md
  • docs/manuals/vpc/flat_vpcs_zero_dpu.md
  • docs/observability/core_metrics.md
  • docs/provisioning/boot-interfaces-and-dpu-modes.md
  • docs/provisioning/ingesting-hosts.md

Comment thread docs/manuals/vpc/flat_vpcs_zero_dpu.md Outdated
Comment thread docs/provisioning/boot-interfaces-and-dpu-modes.md Outdated

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@docs/provisioning/boot-interfaces-and-dpu-modes.md`:
- Around line 63-67: Update the `manage` row in the JSON/TOML and CLI policy
table so it describes DPU lifecycle management without requiring DPU/Admin boot.
State that DPU/Admin is the default boot path only when no plain-NIC primary
interface is declared, while preserving the existing inheritance behavior for
per-host `manage` declarations.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: d30fb5b5-5753-4503-8729-5437ce1d358d

📥 Commits

Reviewing files that changed from the base of the PR and between da30d63 and 664d165.

📒 Files selected for processing (9)
  • docs/development/new_hardware_support.md
  • docs/glossary.md
  • docs/index.yml
  • docs/manuals/nico-admin-cli/commands/expected-machine/expected-machine-add.md
  • docs/manuals/nico-admin-cli/commands/expected-machine/expected-machine-patch.md
  • docs/manuals/vpc/flat_vpcs_zero_dpu.md
  • docs/observability/core_metrics.md
  • docs/provisioning/boot-interfaces-and-dpu-modes.md
  • docs/provisioning/ingesting-hosts.md

Comment thread docs/provisioning/boot-interfaces-and-dpu-modes.md
@chet

chet commented Jul 14, 2026

Copy link
Copy Markdown
Contributor Author

@coderabbitai full_review, thanks!

@coderabbitai

coderabbitai Bot commented Jul 14, 2026

Copy link
Copy Markdown
Contributor

@chet Understood, kicking off a full review of the PR once more.

ʘ‿ʘ

✅ Action performed

Full review finished.

@chet

chet commented Jul 14, 2026

Copy link
Copy Markdown
Contributor Author

@coderabbitai full_review, thanks!

@coderabbitai

coderabbitai Bot commented Jul 14, 2026

Copy link
Copy Markdown
Contributor

@chet Understood, kicking off another full review of the PR.

✅ Action performed

Full review finished.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 1

♻️ Duplicate comments (1)
docs/provisioning/boot-interfaces-and-dpu-modes.md (1)

63-67: 🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

Do not make manage imply a DPU boot path.

This row says every managed host boots through its primary DPU/Admin overlay, but Scenario 3.4 explicitly supports managed DPUs with an integrated NIC as the primary HostInband interface. Describe manage as controlling DPU lifecycle management; make DPU/Admin boot the default only when no plain-NIC primary is declared.

As per path instructions, Markdown must remain technically correct and operator-usable.

Suggested wording
-| `manage` (site/effective default) | `manage` | As a site or resolved policy, DPUs are managed by NICo and the host boots through its primary DPU on the Admin overlay. A per-host `manage` declaration inherits the site policy rather than overriding it. |
+| `manage` (site/effective default) | `manage` | As a site or resolved policy, DPUs are managed by NICo. Boot-interface selection is independent; DPU/Admin is the default only when no plain-NIC primary is declared. A per-host `manage` declaration inherits the site policy rather than overriding it. |
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/provisioning/boot-interfaces-and-dpu-modes.md` around lines 63 - 67,
Update the `manage` row in the JSON/TOML value table to describe DPU lifecycle
management without requiring a DPU/Admin boot path. State that DPU/Admin boot is
the default only when no plain-NIC primary interface is declared, while
preserving the documented behavior for managed DPUs with an integrated NIC as
the HostInband primary.

Source: Path instructions

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@docs/provisioning/boot-interfaces-and-dpu-modes.md`:
- Around line 53-57: The policy documentation does not consistently describe
rack-management mode. Update docs/provisioning/boot-interfaces-and-dpu-modes.md
lines 53-57 to qualify the unset dpu_policy default and Admin-network boot
claims when rack_management_enabled is enabled, and update docs/glossary.md line
159 to include rack-management mode or explicitly state its effective dpu_policy
mapping; keep both descriptions consistent with the policy model.

---

Duplicate comments:
In `@docs/provisioning/boot-interfaces-and-dpu-modes.md`:
- Around line 63-67: Update the `manage` row in the JSON/TOML value table to
describe DPU lifecycle management without requiring a DPU/Admin boot path. State
that DPU/Admin boot is the default only when no plain-NIC primary interface is
declared, while preserving the documented behavior for managed DPUs with an
integrated NIC as the HostInband primary.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: e93fec0a-c3d0-42b3-a1ae-33737f888e76

📥 Commits

Reviewing files that changed from the base of the PR and between 536bb26 and c36b91d.

📒 Files selected for processing (10)
  • crates/site-explorer/src/metrics.rs
  • docs/development/new_hardware_support.md
  • docs/glossary.md
  • docs/index.yml
  • docs/manuals/nico-admin-cli/commands/expected-machine/expected-machine-add.md
  • docs/manuals/nico-admin-cli/commands/expected-machine/expected-machine-patch.md
  • docs/manuals/vpc/flat_vpcs_zero_dpu.md
  • docs/observability/core_metrics.md
  • docs/provisioning/boot-interfaces-and-dpu-modes.md
  • docs/provisioning/ingesting-hosts.md

Comment thread docs/provisioning/boot-interfaces-and-dpu-modes.md Outdated
@chet

chet commented Jul 14, 2026

Copy link
Copy Markdown
Contributor Author

@coderabbitai full_review, thanks!

@coderabbitai

coderabbitai Bot commented Jul 14, 2026

Copy link
Copy Markdown
Contributor

@chet Understood, kicking off another full review of the PR.

(=^・ω・^=)

✅ Action performed

Full review finished.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 3

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@docs/development/new_hardware_support.md`:
- Line 221: The benchmark example below the boot-MAC guidance must match the
documented requirement. Update that benchmark command to include --boot-mac with
the host boot interface MAC placeholder, unless the example is explicitly
restricted to platforms where selecting a boot interface is optional; keep the
repeated exploration behavior unchanged.

In
`@docs/manuals/nico-admin-cli/commands/expected-machine/expected-machine-add.md`:
- Around line 117-122: Update the --dpu-policy documentation in
docs/manuals/nico-admin-cli/commands/expected-machine/expected-machine-add.md
(lines 117-122) and
docs/manuals/nico-admin-cli/commands/expected-machine/expected-machine-patch.md
(lines 123-128) to explicitly map legacy --dpu-mode values: dpu-mode to manage,
nic-mode to use-as-nic, and no-dpu to ignore.

In `@docs/provisioning/boot-interfaces-and-dpu-modes.md`:
- Line 288: Update both AwaitingNic descriptions in the boot interface and DPU
modes documentation to replace the awkward “an ignore/use_as_nic host” phrasing
with “a host using ignore or use_as_nic,” while preserving the surrounding
explanation.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 0317193f-5043-4497-bf96-b2cb60740a4b

📥 Commits

Reviewing files that changed from the base of the PR and between 536bb26 and 0374b04.

📒 Files selected for processing (10)
  • crates/site-explorer/src/metrics.rs
  • docs/development/new_hardware_support.md
  • docs/glossary.md
  • docs/index.yml
  • docs/manuals/nico-admin-cli/commands/expected-machine/expected-machine-add.md
  • docs/manuals/nico-admin-cli/commands/expected-machine/expected-machine-patch.md
  • docs/manuals/vpc/flat_vpcs_zero_dpu.md
  • docs/observability/core_metrics.md
  • docs/provisioning/boot-interfaces-and-dpu-modes.md
  • docs/provisioning/ingesting-hosts.md

Comment thread docs/development/new_hardware_support.md
Comment thread docs/manuals/nico-admin-cli/commands/expected-machine/expected-machine-add.md Outdated
Comment thread docs/provisioning/boot-interfaces-and-dpu-modes.md Outdated
@chet

chet commented Jul 14, 2026

Copy link
Copy Markdown
Contributor Author

@coderabbitai full_review, thanks!

@coderabbitai

coderabbitai Bot commented Jul 14, 2026

Copy link
Copy Markdown
Contributor

@chet Understood, kicking off another full review of the PR.

✅ Action performed

Full review finished.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

♻️ Duplicate comments (1)
docs/provisioning/boot-interfaces-and-dpu-modes.md (1)

70-73: 🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

manage row still couples DPU management with DPU boot — regression of a previously fixed issue.

Line 72 states unconditionally that a manage host "boots through its primary DPU on the Admin overlay," but Section 3.4 (lines 171-186) explicitly documents a manage host that boots from an integrated NIC on HostInband instead. This is the exact wording previously flagged in review and marked "✅ Addressed in commits da30d63 to 421d8d3" — the fix (clarifying that DPU/Admin boot is only the default when no plain-NIC primary is declared) does not appear to be present in this row.

♻️ Restore the previously-agreed wording
-| `manage` (site/effective default) | `manage` | As a site or resolved policy, DPUs are managed by NICo and the host boots through its primary DPU on the Admin overlay. A per-host `manage` declaration inherits the site policy rather than overriding it. |
+| `manage` (site/effective default) | `manage` | As a site or resolved policy, DPUs are managed by NICo. The boot interface is resolved independently; when no plain-NIC primary is declared, the default is the DPU on the Admin overlay. A per-host `manage` declaration inherits the site policy rather than overriding it. |
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/provisioning/boot-interfaces-and-dpu-modes.md` around lines 70 - 73,
Update the `manage` row in the JSON/TOML value table so DPU/Admin-overlay boot
is described only as the default when no plain-NIC primary is declared; preserve
that a `manage` host may instead boot through an integrated NIC on HostInband.
Keep the existing policy-inheritance wording and align the row with the behavior
documented in Section 3.4.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Duplicate comments:
In `@docs/provisioning/boot-interfaces-and-dpu-modes.md`:
- Around line 70-73: Update the `manage` row in the JSON/TOML value table so
DPU/Admin-overlay boot is described only as the default when no plain-NIC
primary is declared; preserve that a `manage` host may instead boot through an
integrated NIC on HostInband. Keep the existing policy-inheritance wording and
align the row with the behavior documented in Section 3.4.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: dc7e5a44-4a24-43e5-9fbe-607bcd12de44

📥 Commits

Reviewing files that changed from the base of the PR and between 0374b04 and 3cec470.

📒 Files selected for processing (10)
  • crates/site-explorer/src/metrics.rs
  • docs/development/new_hardware_support.md
  • docs/glossary.md
  • docs/index.yml
  • docs/manuals/nico-admin-cli/commands/expected-machine/expected-machine-add.md
  • docs/manuals/nico-admin-cli/commands/expected-machine/expected-machine-patch.md
  • docs/manuals/vpc/flat_vpcs_zero_dpu.md
  • docs/observability/core_metrics.md
  • docs/provisioning/boot-interfaces-and-dpu-modes.md
  • docs/provisioning/ingesting-hosts.md
🚧 Files skipped from review as they are similar to previous changes (8)
  • docs/observability/core_metrics.md
  • docs/manuals/nico-admin-cli/commands/expected-machine/expected-machine-add.md
  • docs/index.yml
  • docs/manuals/nico-admin-cli/commands/expected-machine/expected-machine-patch.md
  • docs/provisioning/ingesting-hosts.md
  • docs/development/new_hardware_support.md
  • docs/glossary.md
  • docs/manuals/vpc/flat_vpcs_zero_dpu.md

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

♻️ Duplicate comments (1)
docs/provisioning/boot-interfaces-and-dpu-modes.md (1)

70-74: ⚠️ Potential issue | 🟠 Major

Do not make manage imply DPU/Admin boot.

The manage policy controls DPU lifecycle, not boot-interface selection. These lines contradict the independent-axis model and Scenario 3.4, where managed DPUs coexist with an integrated primary NIC on HostInband. Qualify DPU/Admin boot as the default only when no plain-NIC primary is declared.

As per path instructions, Markdown under docs/** must remain technically consistent with the documented operator workflow.

Suggested wording
-| `manage` (site/effective default) | `manage` | As a site or resolved policy, DPUs are managed by NICo and the host boots through its primary DPU on the Admin overlay. A per-host `manage` declaration inherits the site policy rather than overriding it. |
+| `manage` (site/effective default) | `manage` | As a site or resolved policy, DPUs are managed by NICo. Boot follows the host's primary interface; when no plain-NIC primary is declared, the default is the DPU on the Admin overlay. A per-host `manage` declaration inherits the site policy rather than overriding it. |

Also applies to: 141-141

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/provisioning/boot-interfaces-and-dpu-modes.md` around lines 70 - 74,
Update the `manage` row in the policy table so it describes DPU lifecycle
management without making DPU/Admin boot mandatory; state that DPU/Admin is the
default only when no plain-NIC primary is declared, while preserving HostInband
for hosts with an integrated primary NIC. Apply the same correction to the
additional occurrence referenced by the review.

Source: Path instructions

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Duplicate comments:
In `@docs/provisioning/boot-interfaces-and-dpu-modes.md`:
- Around line 70-74: Update the `manage` row in the policy table so it describes
DPU lifecycle management without making DPU/Admin boot mandatory; state that
DPU/Admin is the default only when no plain-NIC primary is declared, while
preserving HostInband for hosts with an integrated primary NIC. Apply the same
correction to the additional occurrence referenced by the review.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 8a70a241-3a8c-4bf6-a424-7d868e89794a

📥 Commits

Reviewing files that changed from the base of the PR and between afd6108 and 3cec470.

📒 Files selected for processing (10)
  • crates/site-explorer/src/metrics.rs
  • docs/development/new_hardware_support.md
  • docs/glossary.md
  • docs/index.yml
  • docs/manuals/nico-admin-cli/commands/expected-machine/expected-machine-add.md
  • docs/manuals/nico-admin-cli/commands/expected-machine/expected-machine-patch.md
  • docs/manuals/vpc/flat_vpcs_zero_dpu.md
  • docs/observability/core_metrics.md
  • docs/provisioning/boot-interfaces-and-dpu-modes.md
  • docs/provisioning/ingesting-hosts.md

@chet
chet force-pushed the gh-issue-3472 branch 2 times, most recently from eb59f0d to f0915f1 Compare July 14, 2026 22:27
@chet

chet commented Jul 14, 2026

Copy link
Copy Markdown
Contributor Author

@coderabbitai full_review, thanks!

@coderabbitai

coderabbitai Bot commented Jul 14, 2026

Copy link
Copy Markdown
Contributor

@chet Understood, kicking off another full review of the PR.

✅ Action performed

Full review finished.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@docs/provisioning/boot-interfaces-and-dpu-modes.md`:
- Around line 53-56: Update the default-configuration statement to explicitly
limit the manage/primary-DPU boot behavior to hosts with DPU hardware, and
revise the corresponding manage row in section 3.2 to match. Ensure zero-DPU
hosts are directed to use dpu_policy ignore with a primary HostInband NIC,
preserving technically accurate operator guidance.
- Around line 288-289: Update the AwaitingNic/Missing troubleshooting guidance
in the boot-interface and DPU modes documentation to explicitly cover
managed-DPU hosts booting through an integrated HostInband NIC. Classify this
topology as AwaitingNic while the integrated NIC has not appeared, or explicitly
state that it remains Missing until the NIC appears, and apply the same
clarification to the related guidance near section 6.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 373ede48-c819-4798-ab59-58e88c6be7a9

📥 Commits

Reviewing files that changed from the base of the PR and between 2c2ecff and f0915f1.

📒 Files selected for processing (10)
  • crates/site-explorer/src/metrics.rs
  • docs/development/new_hardware_support.md
  • docs/glossary.md
  • docs/index.yml
  • docs/manuals/nico-admin-cli/commands/expected-machine/expected-machine-add.md
  • docs/manuals/nico-admin-cli/commands/expected-machine/expected-machine-patch.md
  • docs/manuals/vpc/flat_vpcs_zero_dpu.md
  • docs/observability/core_metrics.md
  • docs/provisioning/boot-interfaces-and-dpu-modes.md
  • docs/provisioning/ingesting-hosts.md

Comment thread docs/provisioning/boot-interfaces-and-dpu-modes.md Outdated
Comment thread docs/provisioning/boot-interfaces-and-dpu-modes.md Outdated
@chet

chet commented Jul 14, 2026

Copy link
Copy Markdown
Contributor Author

@coderabbitai full_review, thanks!

@coderabbitai

coderabbitai Bot commented Jul 14, 2026

Copy link
Copy Markdown
Contributor

@chet Understood, kicking off another full review of the PR.

✅ Action performed

Full review finished.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 4

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In
`@docs/manuals/nico-admin-cli/commands/expected-machine/expected-machine-add.md`:
- Around line 117-123: Update the --dpu-policy documentation in
docs/manuals/nico-admin-cli/commands/expected-machine/expected-machine-add.md:117-123
and
docs/manuals/nico-admin-cli/commands/expected-machine/expected-machine-patch.md:123-129
so manage explicitly means the host is managed by NICo, while an omitted option
is documented separately as deferring to the site default on add and preserving
the existing per-host value on patch. Keep the existing use-as-nic, ignore, and
legacy --dpu-mode mappings accurate.
- Around line 117-132: Align the expected-machine add and patch manuals with the
shipped CLI by documenting --dpu-mode and its dpu-mode, nic-mode, and no-dpu
values instead of --dpu-policy and manage, use-as-nic, and ignore. Update the
option descriptions and every related example at
docs/manuals/nico-admin-cli/commands/expected-machine/expected-machine-add.md:19,
117-132, 165 and
docs/manuals/nico-admin-cli/commands/expected-machine/expected-machine-patch.md:20,
123-138, 171; no CLI change is requested.

In `@docs/manuals/vpc/flat_vpcs_zero_dpu.md`:
- Line 74: Clarify the existing-host application behavior in the table entry for
ExpectedMachine.dpu_policy: distinguish updating the policy with nico-admin-cli
em patch, which requires no API restart, from applying it to an already-ingested
host, which requires force-deletion and re-ingestion. Keep the instructions
consistent with the boot-interfaces-and-dpu-modes provisioning guidance.

In `@docs/provisioning/boot-interfaces-and-dpu-modes.md`:
- Line 59: Update the Section 3.2 Markdown link in the surrounding documentation
text to use the heading-generated fragment `#32-zero-dpu-host-no-dpu-hardware`
instead of `#32-boot-a-host-with-no-dpus`, leaving the link text and surrounding
content unchanged.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: c2931cf8-50c5-4ccd-a9ff-d4351826e296

📥 Commits

Reviewing files that changed from the base of the PR and between 2c2ecff and d41171b.

📒 Files selected for processing (10)
  • crates/site-explorer/src/metrics.rs
  • docs/development/new_hardware_support.md
  • docs/glossary.md
  • docs/index.yml
  • docs/manuals/nico-admin-cli/commands/expected-machine/expected-machine-add.md
  • docs/manuals/nico-admin-cli/commands/expected-machine/expected-machine-patch.md
  • docs/manuals/vpc/flat_vpcs_zero_dpu.md
  • docs/observability/core_metrics.md
  • docs/provisioning/boot-interfaces-and-dpu-modes.md
  • docs/provisioning/ingesting-hosts.md

Comment thread docs/manuals/nico-admin-cli/commands/expected-machine/expected-machine-add.md Outdated
Comment thread docs/manuals/vpc/flat_vpcs_zero_dpu.md Outdated
Comment thread docs/provisioning/boot-interfaces-and-dpu-modes.md Outdated
@chet

chet commented Jul 14, 2026

Copy link
Copy Markdown
Contributor Author

@coderabbitai full_review, thanks!

@coderabbitai

coderabbitai Bot commented Jul 14, 2026

Copy link
Copy Markdown
Contributor

@chet Understood, kicking off another full review of the PR.

✅ Action performed

Full review finished.

@chet

chet commented Jul 15, 2026

Copy link
Copy Markdown
Contributor Author

@coderabbitai full_review, thanks!

@coderabbitai

coderabbitai Bot commented Jul 15, 2026

Copy link
Copy Markdown
Contributor

@chet Understood, kicking off another full review of the PR.

✅ Action performed

Full review finished.

@chet

chet commented Jul 16, 2026

Copy link
Copy Markdown
Contributor Author

@coderabbitai full_review, thanks!

@coderabbitai

coderabbitai Bot commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

@chet Understood, kicking off another full review of the PR.

✅ Action performed

Full review finished.

@chet
chet force-pushed the gh-issue-3472 branch 2 times, most recently from c21b816 to 3050ae2 Compare July 16, 2026 07:21
@chet

chet commented Jul 16, 2026

Copy link
Copy Markdown
Contributor Author

@coderabbitai full_review, thanks!

@coderabbitai

coderabbitai Bot commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

@chet Understood, kicking off another full review of the PR.

✅ Action performed

Full review finished.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@crates/site-explorer/src/metrics.rs`:
- Around line 758-760: Update the documentation comment for
SiteExplorationMetrics::dpu_migration_signals to use dpu_policy and describe
hosts whose resolved policy is use_as_nic, removing references to dpu_mode and
NicMode while keeping the metric’s signal-type description consistent.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 76c3a4f3-4931-4764-9c3a-52f9b8307f1c

📥 Commits

Reviewing files that changed from the base of the PR and between 0d28ae5 and 3050ae2.

📒 Files selected for processing (10)
  • crates/site-explorer/src/metrics.rs
  • docs/development/new_hardware_support.md
  • docs/glossary.md
  • docs/index.yml
  • docs/manuals/nico-admin-cli/commands/expected-machine/expected-machine-add.md
  • docs/manuals/nico-admin-cli/commands/expected-machine/expected-machine-patch.md
  • docs/manuals/vpc/flat_vpcs_zero_dpu.md
  • docs/observability/core_metrics.md
  • docs/provisioning/boot-interfaces-and-dpu-modes.md
  • docs/provisioning/ingesting-hosts.md

Comment thread crates/site-explorer/src/metrics.rs Outdated
@chet chet changed the title docs: separate host DPU policy from observed device mode docs(api): separate host DPU policy from observed device mode Jul 16, 2026
@chet
chet force-pushed the gh-issue-3472 branch 3 times, most recently from ef755d9 to 9af2906 Compare July 17, 2026 06:20
The provisioning, ingestion, Flat VPC, glossary, metrics, and admin CLI docs now use `HostDpuPolicy::{Manage, Nic, Ignore}` for desired behavior and `BlueFieldOperatingMode::{Dpu, Nic}` for observed hardware state.

Canonical configuration, JSON, and CLI examples use `nic`. The previous `use_as_nic` / `use-as-nic` values and existing `dpu_mode` fields, flags, values, and protobuf/Redfish names remain documented as backwards-compatible inputs and boundaries.

This supports NVIDIA#3472

Signed-off-by: Chet Nichols III <chetn@nvidia.com>
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.

1 participant