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

Warning

Review limit reached

@chet, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 7 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 8dec8cfc-004e-4341-8808-9d05d83cb4c0

📥 Commits

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

📒 Files selected for processing (2)
  • docs/provisioning/boot-interfaces-and-dpu-modes.md
  • docs/provisioning/ingesting-hosts.md

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 persistence and command guidance
docs/provisioning/boot-interfaces-and-dpu-modes.md
Documents retaining MAC and Redfish interface-id data, fallback behavior, the read-only machine boot-interfaces <machine-id> command, and direct-to-BMC redfish operations.
Boot-order application flow
docs/provisioning/boot-interfaces-and-dpu-modes.md
Documents BIOS configuration, check-first verification, drift detection, bounded reassertion, and different targeting for DPU and zero-DPU/NIC-mode hosts.
Troubleshooting and ingestion guidance
docs/provisioning/boot-interfaces-and-dpu-modes.md, docs/provisioning/ingesting-hosts.md
Adds the four-store diagnostic workflow, repeated-reassertion remediation guidance, and linked documentation for dpu_mode and host_nics.

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

Possibly related issues

Possibly related PRs

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly summarizes the main doc refresh of the boot-interface operator guide.
Description check ✅ Passed The description is on-topic and accurately describes the documentation updates in the changeset.
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
@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
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).

This supports NVIDIA#3269

Signed-off-by: Chet Nichols III <chetn@nvidia.com>
@chet chet force-pushed the gh-issue-3269 branch from cf18f7d to fa90830 Compare July 9, 2026 23:50
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