Commit e8fef01
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-config checks (`check_host_boot_config` and the
`SetBootOrder` / `CheckBootOrder` steps) 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`:
`check_host_boot_config` returns the existing `HostBootConfigDecision::Wait`,
and `SetBootOrderOutcome` gains a matching `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 47e42bc commit e8fef01
2 files changed
Lines changed: 139 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 | + | |
| 116 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
98 | 98 | | |
99 | 99 | | |
100 | 100 | | |
101 | | - | |
| 101 | + | |
102 | 102 | | |
103 | 103 | | |
104 | 104 | | |
| |||
3339 | 3339 | | |
3340 | 3340 | | |
3341 | 3341 | | |
| 3342 | + | |
3342 | 3343 | | |
3343 | 3344 | | |
3344 | 3345 | | |
| |||
3527 | 3528 | | |
3528 | 3529 | | |
3529 | 3530 | | |
3530 | | - | |
3531 | | - | |
3532 | | - | |
3533 | | - | |
3534 | | - | |
3535 | | - | |
3536 | | - | |
| 3531 | + | |
| 3532 | + | |
| 3533 | + | |
| 3534 | + | |
| 3535 | + | |
| 3536 | + | |
| 3537 | + | |
| 3538 | + | |
| 3539 | + | |
| 3540 | + | |
| 3541 | + | |
| 3542 | + | |
| 3543 | + | |
| 3544 | + | |
| 3545 | + | |
| 3546 | + | |
| 3547 | + | |
| 3548 | + | |
3537 | 3549 | | |
3538 | 3550 | | |
3539 | 3551 | | |
| |||
4835 | 4847 | | |
4836 | 4848 | | |
4837 | 4849 | | |
| 4850 | + | |
| 4851 | + | |
| 4852 | + | |
| 4853 | + | |
4838 | 4854 | | |
4839 | 4855 | | |
4840 | 4856 | | |
| |||
5237 | 5253 | | |
5238 | 5254 | | |
5239 | 5255 | | |
| 5256 | + | |
| 5257 | + | |
| 5258 | + | |
5240 | 5259 | | |
5241 | 5260 | | |
5242 | 5261 | | |
| |||
10876 | 10895 | | |
10877 | 10896 | | |
10878 | 10897 | | |
| 10898 | + | |
| 10899 | + | |
| 10900 | + | |
10879 | 10901 | | |
10880 | 10902 | | |
10881 | 10903 | | |
| |||
10922 | 10944 | | |
10923 | 10945 | | |
10924 | 10946 | | |
10925 | | - | |
10926 | | - | |
10927 | | - | |
10928 | | - | |
10929 | | - | |
10930 | | - | |
10931 | | - | |
| 10947 | + | |
| 10948 | + | |
| 10949 | + | |
| 10950 | + | |
| 10951 | + | |
| 10952 | + | |
| 10953 | + | |
| 10954 | + | |
| 10955 | + | |
| 10956 | + | |
| 10957 | + | |
| 10958 | + | |
| 10959 | + | |
| 10960 | + | |
| 10961 | + | |
| 10962 | + | |
| 10963 | + | |
| 10964 | + | |
10932 | 10965 | | |
10933 | 10966 | | |
10934 | 10967 | | |
| |||
11207 | 11240 | | |
11208 | 11241 | | |
11209 | 11242 | | |
11210 | | - | |
11211 | | - | |
11212 | | - | |
11213 | | - | |
11214 | | - | |
11215 | | - | |
| 11243 | + | |
| 11244 | + | |
| 11245 | + | |
| 11246 | + | |
| 11247 | + | |
| 11248 | + | |
| 11249 | + | |
| 11250 | + | |
| 11251 | + | |
| 11252 | + | |
| 11253 | + | |
| 11254 | + | |
| 11255 | + | |
| 11256 | + | |
| 11257 | + | |
11216 | 11258 | | |
11217 | 11259 | | |
11218 | 11260 | | |
| |||
0 commit comments