Skip to content

docs: 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: 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, UseAsNic, Ignore} for desired behavior and BlueFieldOperatingMode::{Dpu, Nic} for observed hardware state.

Existing dpu_mode fields, flags, values, and protobuf/Redfish names are called out as backwards-compatible boundaries rather than the canonical vocabulary.

This is the separately reviewed documentation companion to #3453 and should merge after that code PR.

Validation:

  • cargo make format-nightly
  • cargo make clippy
  • cargo make carbide-lints
  • git diff --check

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

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 310db920-7f9b-4cee-8a7b-c935167b2c17

📥 Commits

Reviewing files that changed from the base of the PR and between eb4ea22 and cd6a48f.

📒 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

Summary by CodeRabbit

  • Documentation
    • Updated DPU terminology from modes to policies across provisioning, CLI, glossary, and operational guides.
    • Documented manage, use-as-nic, and ignore policies, including inheritance, precedence, defaults, and legacy compatibility.
    • Clarified zero-DPU configuration and verification procedures.
    • Updated boot-interface guidance, examples, troubleshooting, and navigation titles.
    • Clarified migration metric descriptions for use-as-nic hosts.
    • Fixed command examples and Markdown formatting issues.

Walkthrough

The documentation adopts dpu_policy terminology, distinguishes host intent from observed operating mode, updates CLI and provisioning guidance, documents legacy compatibility, and clarifies boot-interface validation requirements.

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 policies and BlueField operating modes, updates zero-DPU terminology, documents inheritance and aliases, fixes export formatting, and aligns migration metric descriptions.
CLI and zero-DPU operator guidance
docs/manuals/nico-admin-cli/commands/expected-machine/*, docs/manuals/vpc/flat_vpcs_zero_dpu.md
Replaces documented --dpu-mode usage with --dpu-policy, defines supported values, and updates Flat VPC procedures, rack-manager guidance, allocation terminology, and verification steps.
Provisioning policy workflows
docs/provisioning/boot-interfaces-and-dpu-modes.md, docs/index.yml
Updates policy defaults, resolution rules, scenarios, boot handling, troubleshooting, navigation wording, and CLI references.
Development workflow documentation
docs/development/new_hardware_support.md
Updates hardware-validation links and command formatting, and adjusts mock-coverage step ordering.

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

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly summarizes the main documentation change: separating host DPU policy from observed device mode.
Description check ✅ Passed The description accurately reflects the documentation updates and the policy/mode terminology split.
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.
✨ 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 13 30 78 7 131
machine-validation-runner 807 40 234 288 36 209
machine_validation 807 40 234 288 36 209
machine_validation-aarch64 807 40 234 288 36 209
nvmetal-carbide 807 40 234 288 36 209
TOTAL 3493 173 966 1236 151 967

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/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.

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

Existing `dpu_mode` fields, flags, values, and protobuf/Redfish names are called out as backwards-compatible boundaries rather than the canonical vocabulary.

This supports NVIDIA#3472

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

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