docs: add an operator guide for boot interfaces and DPU modes#2797
Conversation
|
Auto-sync is disabled for draft pull requests in this repository. Workflows must be run manually. Contributors can view more details about this message here. |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Enterprise Run ID: 📒 Files selected for processing (2)
✅ Files skipped from review due to trivial changes (1)
🚧 Files skipped from review as they are similar to previous changes (1)
Summary by CodeRabbit
WalkthroughA new provisioning guide, ChangesBoot Interfaces and DPU Modes Documentation
Estimated code review effort🎯 2 (Simple) | ⏱️ ~12 minutes Possibly related issues
Possibly related PRs
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Warning There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure. 🔧 markdownlint-cli2 (0.22.1)docs/provisioning/boot-interfaces-and-dpu-modes.mdmarkdownlint-cli2 v0.22.1 (markdownlint v0.40.0) Comment |
|
@coderabbitai PTAL, thank you! |
|
@coderabbitai review |
✅ Action performedReview finished.
|
|
(ᴖ‿ᴖ)🐇 ✅ Action performedReview finished.
|
|
@coderabbitai full review |
✅ Action performedFull review finished. |
There was a problem hiding this comment.
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/provisioning/boot-interfaces-and-dpu-modes.md`:
- Around line 245-255: The fenced code block containing the state diagram
starting with "Created → DpuDiscoveringState → HostInit → Validation → Ready" is
missing a language identifier after the opening triple backticks. Add
"plaintext" as the language specifier immediately after the opening triple
backticks to improve accessibility and enable proper syntax highlighting for the
diagram.
- Around line 1-351: Update all internal anchor link references in the document
to match GitHub Markdown's auto-generated anchor format by adding a leading dash
before the section number. Find all links like
`#2-configuring-via-expected-machines--and-the-defaults`, `#3-scenarios`,
`#34-boot-an-integrated-nic-while-keeping-the-dpus-managed`,
`#35-flipping-a-dpu-to-nic-mode`, `#5-web-ui`,
`#6-behind-the-scenes-how-a-boot-device-is-chosen-and-set`,
`#7-the-boot-interface-data-model`, and `#73-retained-boot-interfaces` and change
them to `#-2-configuring-via-expected-machines--and-the-defaults`, `#-3-scenarios`,
`#-34-boot-an-integrated-nic-while-keeping-the-dpus-managed`,
`#-35-flipping-a-dpu-to-nic-mode`, `#-5-web-ui`,
`#-6-behind-the-scenes-how-a-boot-device-is-chosen-and-set`,
`#-7-the-boot-interface-data-model`, and `#-73-retained-boot-interfaces`
respectively. These links appear in the introductory callout and throughout the
document for cross-referencing.
- Line 175: The link reference at line 175 contains a broken anchor that does
not match the header it targets. The link `[Section
7.3](`#73-retained-boot-interfaces`)` points to an anchor that does not exist
because the header `### 7.3 Retained (`retained_boot_interfaces`)` at line 299
contains backticks which affect anchor generation in markdown. Either update the
link anchor to match the actual generated anchor from the header (which includes
the `retained_` prefix due to the backticks), or simplify the header by removing
the backticks around `retained_boot_interfaces` so the anchor matches the link
target `#73-retained-boot-interfaces`.
🪄 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: 2809389d-47d9-4d29-9fb4-28e71be6b0aa
📒 Files selected for processing (2)
docs/index.ymldocs/provisioning/boot-interfaces-and-dpu-modes.md
Operators have historically configured little around DPU modes and network segments -- the defaults handled the common managed-DPU host. Now that NICo supports DPUs in NIC mode, integrated and zero-DPU NICs, booting an integrated NIC while keeping its DPUs managed, and live DPU-mode flips, operators need to understand both the knobs and what the defaults do when nothing is set. This adds docs/provisioning/boot-interfaces-and-dpu-modes.md, the deep companion to ingesting-hosts.md. It covers: - The two independent axes -- DPU management (dpu_mode) vs. the boot/primary interface -- and the network segment types (Admin overlay, HostInband, Underlay, Tenant), with "the host-OS segment follows the boot mode." - Configuring via Expected Machines: the dpu_mode and host_nics (primary, network_segment_type) knobs, and the default behavior when nothing is set. - Scenario recipes: zero-DPU, DPU in NIC mode, an integrated NIC with the DPUs still managed, and flipping a DPU to NIC mode. - The admin-cli + Forge gRPC surfaces and the web UI capabilities. - Behind the scenes: the machine-controller state machine and how a boot device is chosen and set, plus the predicted -> managed -> retained boot-interface data model and the selection precedence. Wired into docs/index.yml under Provisioning (Day 0). Part of NVIDIA#2740 (epic NVIDIA#2660). Signed-off-by: Chet Nichols III <chetn@nvidia.com>
1ff1cd1 to
7b8d05a
Compare
|
@coderabbitai review |
✅ Action performedReview finished.
|
|
🌿 Preview your docs: https://nvidia-preview-pull-request-2797.docs.buildwithfern.com/infra-controller |
🔍 Container Scan SummaryNo Grype artifacts were found to aggregate. |
What
The operator's guide for boot-interface selection and DPU modes — the documentation capstone of the boot-interface standardization epic (#2660). New page
docs/provisioning/boot-interfaces-and-dpu-modes.md, a deep companion toingesting-hosts.md(which stays the basic ingest-flow page), wired intoindex.ymlunder Provisioning (Day 0).It's written operator-first — leads with "what to set and what the defaults do," then scenario recipes, then the admin-cli / gRPC / web-UI surfaces, then the behind-the-scenes flow for debugging:
dpu_modevs. the boot/primary interface) + segment types (Admin overlay / HostInband / Underlay / Tenant).dpu_mode,host_nics(primary,network_segment_type), and the default behavior when nothing is set.predicted → managed → retaineddata model and the selection precedence.Notes
dpu_mode/network_segment_type/primaryconfig, thepredicted_machine_interfaces→machine_interfaces→retained_boot_interfacesflow, the machine-controller boot config, and the admin-cli/gRPC/web-UI surfaces) via a focused research pass.index.ymlnav.Test plan
Part of #2740 (epic #2660).