Skip to content

docs: refresh the boot-interface operator guide#3270

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

docs: refresh the boot-interface operator guide#3270
chet wants to merge 1 commit into
NVIDIA:mainfrom
chet:gh-issue-3269

Conversation

@chet

@chet chet commented Jul 8, 2026

Copy link
Copy Markdown
Contributor

The boot-interface operator guide merged a couple of weeks ago and the tooling kept moving right behind it: the four-store troubleshooting CLI landed two days later, and SetBootOrder grew its check-first skip and the WaitForHttpBootDeviceApplied re-assert loop. This refresh brings the guide back in line with what's shipped and makes the data model visible at a glance instead of prose-only.

  • Section 1 now states the runtime payoff of MachineBootInterface being a pair: every targeted Redfish operation tries the MAC first and retries with the interface id on any error, which is what keeps boot configuration working when a NIC drops out of the BMC's inventory.
  • machine boot-interfaces joins the CLI reference and leads the troubleshooting section -- the four stores side by side, the effective selection, and the divergent flag, with guidance on when divergence is normal.
  • The "applying the boot order" walkthrough matches the current SetBootOrder flow: check-first (nothing is re-applied unless something drifted), the reverted-HTTP-boot-device re-assert via machine_setup, and the bounded retry budget that ends in manual intervention -- plus a troubleshooting row for that operator-visible error.
  • Section 7 reframes the data model as the four stores (predicted_machine_interfaces -> machine_interfaces -> retained_boot_interfaces, with the explored_endpoints default alongside) and adds a mermaid lineage diagram.
  • The redfish command group is called out as the direct-to-BMC escape hatch -- no stores consulted, no interface-id fallback -- so nobody reaches for it on a managed host by accident.
  • ingesting-hosts.md now documents host_nics and cross-links the guide (it never had, in either direction).

This supports #3269

@chet chet requested a review from polarweasel as a code owner July 8, 2026 19:32
@chet

chet commented Jul 8, 2026

Copy link
Copy Markdown
Contributor Author

@coderabbitai full_review, thanks!

@coderabbitai

coderabbitai Bot commented Jul 8, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

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: f980ae63-8141-430b-a709-3ed14347cce3

📥 Commits

Reviewing files that changed from the base of the PR and between cf18f7d and 380d9e4.

📒 Files selected for processing (2)
  • docs/provisioning/boot-interfaces-and-dpu-modes.md
  • docs/provisioning/ingesting-hosts.md
🚧 Files skipped from review as they are similar to previous changes (2)
  • docs/provisioning/ingesting-hosts.md
  • docs/provisioning/boot-interfaces-and-dpu-modes.md

Summary by CodeRabbit

  • Documentation
    • Clarified boot-interface selection using MAC addresses and Redfish interface IDs, including stale-interface retry behavior.
    • Documented dpu_mode fallback precedence and improved network_segment_type guidance.
    • Added the read-only machine boot-interfaces command with JSON/YAML output and divergence indicators.
    • Expanded troubleshooting for HTTP boot verification and zero-DPU hosts.
    • Added guidance for the host_nics field and linked it to boot-interface configuration details.

Walkthrough

This PR updates NICo documentation for boot-interface retention and fallback, boot-order verification and recovery, four-store troubleshooting, the machine boot-interfaces command, and the dpu_mode and host_nics ingestion fields.

Changes

Boot Interface Documentation

Layer / File(s) Summary
Boot-interface model and configuration
docs/provisioning/boot-interfaces-and-dpu-modes.md
Documents the MAC and Redfish interface-id pair, fallback and retention behavior, DPU-mode precedence, network-segment matching, zero-DPU hosts, and mode changes.
Boot-order application flow
docs/provisioning/boot-interfaces-and-dpu-modes.md
Documents check-first BIOS and HTTP-boot configuration, bounded reassertion and polling, DPU or NIC-mode targeting, reprovision drift repair, and the web UI restore action.
Operator commands and diagnostics
docs/provisioning/boot-interfaces-and-dpu-modes.md, docs/provisioning/ingesting-hosts.md
Documents the four-store machine boot-interfaces view, direct-to-BMC redfish operations, repeated-reassertion remediation, and linked dpu_mode and host_nics ingestion fields.

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

Possibly related issues

Possibly related PRs

  • NVIDIA/infra-controller#3341: Implements the boot-interface CLI family and API fields that support the documented four-store view and divergence semantics.
  • NVIDIA/infra-controller#3473: Updates the related DPU-management terminology from dpu_mode to policy-driven dpu_policy and HostDpuPolicy.
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately summarizes the main change: a documentation refresh of the boot-interface operator guide.
Description check ✅ Passed The description is clearly aligned with the documented boot-interface and provisioning guide updates.
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.

@coderabbitai

coderabbitai Bot commented Jul 8, 2026

Copy link
Copy Markdown
Contributor

@chet, sounds good — kicking off a full review of all changes in this PR now.

🐇✨

✅ Action performed

Full review finished.

@github-actions

github-actions Bot commented Jul 8, 2026

Copy link
Copy Markdown

🔍 Container Scan Summary

No Grype artifacts were found to aggregate.

@github-actions

github-actions Bot commented Jul 8, 2026

Copy link
Copy Markdown

@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 39-40: The fallback description in the
boot-interfaces-and-dpu-modes docs is too broad and implies every Redfish path
retries with interface id, including the direct-to-BMC escape hatch. Narrow the
wording in the paragraph that mentions NICo, MAC, and interface id so it only
applies to targeted Redfish operations that go through the store lookup flow,
and keep the separate redfish escape-hatch paragraph clearly excluded from that
retry logic.
🪄 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: 15298eb3-360b-492b-8f3b-7b997e20eaf6

📥 Commits

Reviewing files that changed from the base of the PR and between b715487 and cd07ffd.

📒 Files selected for processing (2)
  • 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 force-pushed the gh-issue-3269 branch from cd07ffd to 93cd4d5 Compare July 9, 2026 23:35
@chet

chet commented Jul 9, 2026

Copy link
Copy Markdown
Contributor Author

@coderabbitai full_review, thanks!

@coderabbitai

coderabbitai Bot commented Jul 9, 2026

Copy link
Copy Markdown
Contributor

@chet, sounds good — kicking off another full review of all changes in this PR now.

✅ 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/provisioning/boot-interfaces-and-dpu-modes.md`:
- Around line 289-305: Update the Mermaid diagram around the machine
boot-interface lineage to place expected_machines.host_nics outside the four
diagnostic stores and label it clearly as the declaration/input source. Keep
only predicted_machine_interfaces, machine_interfaces, retained_boot_interfaces,
and explored_endpoints in the four-store representation, and show the
declaration source feeding prediction creation without implying it appears in
the CLI view or divergence calculation.
- Line 281: Clarify the HTTP-boot re-assertion limit consistently in the
documentation: update the description near SetBootOrder and the corresponding
text in Section 8 to state explicitly whether there are three total re-assert
attempts or three retries, using identical wording in both locations.
- Line 210: Correct the grammar in the “direct-to-BMC escape hatch” paragraph by
changing “a BMC NICo doesn't manage yet” to “a BMC that NICo doesn't manage
yet,” without altering the surrounding guidance.
🪄 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: 8ee9e71a-fd2c-4849-a412-decdf5f5e03d

📥 Commits

Reviewing files that changed from the base of the PR and between cd07ffd and 93cd4d5.

📒 Files selected for processing (2)
  • docs/provisioning/boot-interfaces-and-dpu-modes.md
  • docs/provisioning/ingesting-hosts.md
✅ Files skipped from review due to trivial changes (1)
  • 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
Comment thread docs/provisioning/boot-interfaces-and-dpu-modes.md Outdated
@chet chet force-pushed the gh-issue-3269 branch from 93cd4d5 to cf18f7d Compare July 9, 2026 23:43
@chet

chet commented Jul 9, 2026

Copy link
Copy Markdown
Contributor Author

@coderabbitai full_review, thanks!

@coderabbitai

coderabbitai Bot commented Jul 9, 2026

Copy link
Copy Markdown
Contributor

@chet, sounds good — kicking off another full review of all changes in this PR now.

✅ 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 `@docs/provisioning/boot-interfaces-and-dpu-modes.md`:
- Around line 353-361: Update the “First stop — the four-store view” description
to define the divergent flag using the boot-selection signals: effective owned
selection, explored default, and primary prediction disagreeing on more than one
MAC. Replace the inaccurate wording that implies any store or secondary
interface MAC can trigger divergence, while retaining the note that retained
records do not count.
🪄 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: 9c55b587-0178-40c1-8c0d-deeefa46c404

📥 Commits

Reviewing files that changed from the base of the PR and between 8651f88 and cf18f7d.

📒 Files selected for processing (2)
  • 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 force-pushed the gh-issue-3269 branch from cf18f7d to fa90830 Compare July 9, 2026 23:50
The boot-interface operator guide merged a couple of weeks ago and the tooling kept moving right behind it: the four-store troubleshooting CLI landed two days later, and `SetBootOrder` grew its check-first skip and the `WaitForHttpBootDeviceApplied` re-assert loop. This refresh brings the guide back in line with what's shipped and makes the data model visible at a glance instead of prose-only.

- Section 1 now states the runtime payoff of `MachineBootInterface` being a pair: when NICo targets a boot operation at the BMC it tries the MAC first and, when it knows the full pair, retries with the interface id on any error -- which is what keeps boot configuration working when a NIC drops out of the BMC's inventory.
- `machine boot-interfaces` joins the CLI reference and leads the troubleshooting section -- the four stores side by side, the effective selection, and the `divergent` flag, with guidance on when divergence is normal.
- The "applying the boot order" walkthrough matches the current `SetBootOrder` flow: check-first (nothing is re-applied unless something drifted), the reverted-HTTP-boot-device re-assert via `machine_setup`, and the bounded retry budget that ends in manual intervention -- plus a troubleshooting row for that operator-visible error.
- Section 7 reframes the data model as the four stores (`predicted_machine_interfaces` -> `machine_interfaces` -> `retained_boot_interfaces`, with the `explored_endpoints` default alongside) and adds a mermaid lineage diagram.
- The `redfish` command group is called out as the direct-to-BMC escape hatch -- no stores consulted, no interface-id fallback -- so nobody reaches for it on a managed host by accident.
- `ingesting-hosts.md` now documents `host_nics` and cross-links the guide (it never had, in either direction).
- Tightened the prose throughout -- cut filler words (`that`, `actually`) and vague demonstratives in favor of the specific nouns they pointed at.

This supports NVIDIA#3269

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