Skip to content

feat: add Dell set_boot_override impl via HttpDev1Uri BIOS attribute#75

Merged
chet merged 1 commit into
NVIDIA:mainfrom
chet:dell-set-boot-override
May 23, 2026
Merged

feat: add Dell set_boot_override impl via HttpDev1Uri BIOS attribute#75
chet merged 1 commit into
NVIDIA:mainfrom
chet:dell-set-boot-override

Conversation

@chet
Copy link
Copy Markdown

@chet chet commented May 22, 2026

This supports NVIDIA/infra-controller#1865.

Implements set_boot_override for Dell iDRAC by PATCHing the HttpDev1Uri-related BIOS attributes via /Systems/{id}/Bios/Settings. Returns the BIOS config job ID; callers can DELETE it to cancel before the BIOS reboot if needed.

Worth noting Dell doesn't expose the standard Redfish Boot.HttpBootUri property, and also rejects PATCHing BootSourceOverrideTarget/Enabled via /Systems/{id}/Settings (only Boot.BootOrder and BootSourceOverrideMode are accepted there). The HttpDev1Uri attribute is the Dell-documented path for pinning UEFI HTTP boot URLs.

Verified end-to-end on hosts in a development lab:

  • iDRAC9: R760 (BIOS 2.5.4), R760xd2 (BIOS 1.7.5), XE9680 (some).
  • iDRAC10: R670 (BIOS 1.7.5).

Integration tests cover both paths:

  • dell mockup (HttpDev1Uri.ReadOnly=false) exercises the PATCH path.
  • dell_multi_dpu mockup (HttpDev1Uri.ReadOnly=true) exercises the locked path.

Note that there seemed to be some machines that were reporting as being locked/read-only, even though they didn't appear to be in lockdown. Not really sure what was going on there, but if for some reason the PATCHing fails, we'll just return the error (and it will be up to the caller to decide what they want to do).

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

bcavnvidia
bcavnvidia previously approved these changes May 23, 2026
Implements `set_boot_override` for Dell iDRAC by PATCHing the `HttpDev1Uri`-related BIOS attributes via `/Systems/{id}/Bios/Settings`. Returns the BIOS config job ID; callers can DELETE it to cancel before the BIOS reboot if needed.

Worth noting Dell doesn't expose the standard Redfish `Boot.HttpBootUri` property, and also rejects PATCHing `BootSourceOverrideTarget/Enabled` via `/Systems/{id}/Settings` (only `Boot.BootOrder` and `BootSourceOverrideMode` are accepted there). The `HttpDev1Uri` attribute is the Dell-documented path for pinning UEFI HTTP boot URLs.

Verified end-to-end:
- iDRAC9: R760 (BIOS 2.5.4), R760xd2 (BIOS 1.7.5), XE9680 (some).
- iDRAC10: R670 (BIOS 1.7.5).

Integration tests cover both paths:
- dell mockup (`HttpDev1Uri.ReadOnly=false`) exercises the `PATCH` path.
- dell_multi_dpu mockup (`HttpDev1Uri.ReadOnly=true`) exercises the locked path.

Note that there seemed to be some machines that were reporting as being
locked/read-only, even though they didn't appear to be in lockdown. Not
really sure what was going on there, but if for some reason the PATCHing
fails, we'll just return the error (and it will be up to the caller to
decide what they want to do).

Signed-off-by: Chet Nichols III <chetn@nvidia.com>
@chet chet merged commit dd2152a into NVIDIA:main May 23, 2026
2 checks passed
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.

2 participants