Commit 6915a58
committed
fix(machine-controller): wait for a zero-DPU host's boot NIC instead of faulting
Boot configuration resolves the host's boot interface from its primary
`machine_interface`. A zero-DPU host -- `NoDpu`, or a BlueField flipped to
`NicMode` -- boots from a plain NIC that only takes its first HostInband lease
once the host is up, so for a window after registration it has no boot
interface yet. The boot steps (`CheckHostConfig`, `SetBootOrder`,
`CheckBootOrder`) now treat that as a wait-and-retry rather than an error. A
host with managed DPUs always has its DPU-facing primary set at promotion, so a
missing boot interface there is still a genuine fault.
The wait-versus-fault decision is centralized in `resolve_boot_interface`, and
`SetBootOrderOutcome` gains a `Wait` variant distinct from `WaitingForReboot`
so the wait reads as an unmet precondition, not a reboot. Adds unit tests for
the classification: a zero-DPU host with no boot interface waits, a DPU host
without one faults, and a resolved interface is used as-is.
Signed-off-by: Chet Nichols III <chetn@nvidia.com>1 parent b6d77d8 commit 6915a58
2 files changed
Lines changed: 137 additions & 21 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
38 | 38 | | |
39 | 39 | | |
40 | 40 | | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
98 | 98 | | |
99 | 99 | | |
100 | 100 | | |
101 | | - | |
| 101 | + | |
102 | 102 | | |
103 | 103 | | |
104 | 104 | | |
| |||
4176 | 4176 | | |
4177 | 4177 | | |
4178 | 4178 | | |
| 4179 | + | |
| 4180 | + | |
| 4181 | + | |
| 4182 | + | |
4179 | 4183 | | |
4180 | 4184 | | |
4181 | 4185 | | |
| |||
4564 | 4568 | | |
4565 | 4569 | | |
4566 | 4570 | | |
| 4571 | + | |
| 4572 | + | |
| 4573 | + | |
4567 | 4574 | | |
4568 | 4575 | | |
4569 | 4576 | | |
| |||
10019 | 10026 | | |
10020 | 10027 | | |
10021 | 10028 | | |
10022 | | - | |
10023 | | - | |
10024 | | - | |
10025 | | - | |
10026 | | - | |
10027 | | - | |
10028 | | - | |
| 10029 | + | |
| 10030 | + | |
| 10031 | + | |
| 10032 | + | |
| 10033 | + | |
| 10034 | + | |
| 10035 | + | |
| 10036 | + | |
| 10037 | + | |
| 10038 | + | |
| 10039 | + | |
| 10040 | + | |
| 10041 | + | |
| 10042 | + | |
| 10043 | + | |
| 10044 | + | |
| 10045 | + | |
| 10046 | + | |
10029 | 10047 | | |
10030 | 10048 | | |
10031 | 10049 | | |
| |||
10256 | 10274 | | |
10257 | 10275 | | |
10258 | 10276 | | |
| 10277 | + | |
| 10278 | + | |
| 10279 | + | |
10259 | 10280 | | |
10260 | 10281 | | |
10261 | 10282 | | |
| |||
10302 | 10323 | | |
10303 | 10324 | | |
10304 | 10325 | | |
10305 | | - | |
10306 | | - | |
10307 | | - | |
10308 | | - | |
10309 | | - | |
10310 | | - | |
10311 | | - | |
| 10326 | + | |
| 10327 | + | |
| 10328 | + | |
| 10329 | + | |
| 10330 | + | |
| 10331 | + | |
| 10332 | + | |
| 10333 | + | |
| 10334 | + | |
| 10335 | + | |
| 10336 | + | |
| 10337 | + | |
| 10338 | + | |
| 10339 | + | |
| 10340 | + | |
| 10341 | + | |
| 10342 | + | |
| 10343 | + | |
10312 | 10344 | | |
10313 | 10345 | | |
10314 | 10346 | | |
| |||
10587 | 10619 | | |
10588 | 10620 | | |
10589 | 10621 | | |
10590 | | - | |
10591 | | - | |
10592 | | - | |
10593 | | - | |
10594 | | - | |
10595 | | - | |
| 10622 | + | |
| 10623 | + | |
| 10624 | + | |
| 10625 | + | |
| 10626 | + | |
| 10627 | + | |
| 10628 | + | |
| 10629 | + | |
| 10630 | + | |
| 10631 | + | |
| 10632 | + | |
| 10633 | + | |
| 10634 | + | |
| 10635 | + | |
| 10636 | + | |
10596 | 10637 | | |
10597 | 10638 | | |
10598 | 10639 | | |
| |||
0 commit comments