Skip to content

docs(boot-interface): refresh the boot-interface operator guide#3270

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

docs(boot-interface): 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

This also supports #3644

@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

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

This PR updates NICo documentation for boot-interface pairing and fallback, DPU-mode configuration, boot-order verification and recovery, four-store troubleshooting, operator CLI behavior, and host-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 scenarios, and mode changes.
Boot-order application flow
docs/provisioning/boot-interfaces-and-dpu-modes.md
Documents resolved-interface application, check-first HTTP-boot verification, bounded reassertion and polling, zero-DPU handling, reprovision drift repair, and related Web UI actions.
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 behavior, repeated-reassertion remediation, and linked dpu_mode and host_nics fields.

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

Possibly related PRs

🚥 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 is concise and accurately summarizes the primary change: refreshing the boot-interface operator guide.
Description check ✅ Passed The description clearly matches the documented updates and stays aligned with the pull request changes.
✨ 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 Outdated
@chet
chet force-pushed the gh-issue-3269 branch 2 times, most recently from fa90830 to 380d9e4 Compare July 14, 2026 17:25
@chet chet changed the title docs: refresh the boot-interface operator guide docs(boot-interface): refresh the boot-interface operator guide Jul 16, 2026
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 bypass -- 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.
- Aligned the guide to the NVIDIA documentation style guide -- title-case headings, no em dashes, no Latinisms (`e.g.`/`i.e.`/`via`), `see` -> `refer to`, temporal `once` -> `after`, and no contractions.

This supports NVIDIA#3269

Signed-off-by: Chet Nichols III <chetn@nvidia.com>

@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`:
- Line 215: Remove the blank line between the two blockquoted paragraphs in the
documentation so they remain contiguous and satisfy markdownlint MD028;
alternatively, move the second paragraph outside the blockquote as a normal
paragraph.
🪄 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: ee03b24a-fc6c-4a0d-bc49-5fb226865c5c

📥 Commits

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

📒 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 (1)
  • docs/provisioning/ingesting-hosts.md

| `boot-override clear <interface-id>` | `ClearMachineBootOverride` | Revert to the default PXE/cloud-init. |

> Setting the DPU-first boot order directly (by MAC) is also exposed as a one-off action through the web UI ([Section 5](#5-web-ui)). Under normal operation the machine-controller sets the boot order automatically during ingestion ([Section 6](#6-behind-the-scenes-how-a-boot-device-is-chosen-and-set)).

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.

📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

Remove the blank line inside the blockquote.

markdownlint reports MD028 here. Keep the two quoted paragraphs contiguous, or make the second paragraph a normal paragraph outside the blockquote.

🧰 Tools
🪛 markdownlint-cli2 (0.23.0)

[warning] 215-215: Blank line inside blockquote

(MD028, no-blanks-blockquote)

🤖 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` at line 215, Remove the
blank line between the two blockquoted paragraphs in the documentation so they
remain contiguous and satisfy markdownlint MD028; alternatively, move the second
paragraph outside the blockquote as a normal paragraph.

Sources: Path instructions, Linters/SAST tools

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