Skip to content

Support single-call boot-interface targeting with MAC and interface ID #109

Description

@chet

Part of NVIDIA/infra-controller#2660.

A caller can know both a boot interface’s MAC address and vendor-native Redfish interface ID, but BootInterfaceRef currently accepts only one at a time. NICo compensates by retrying the complete mutation with the second identifier after an arbitrary error. The first invocation may already have cleared a Dell job queue, staged a BIOS change, or created a job, so repeating the operation is not a safe fallback.

Add a complete boot-interface target that lets one vendor implementation choose its native selector during one operation invocation. The pair identifies one interface; it does not mean “try both.”

What this involves

  • Add BootInterfaceRef::Pair { mac_address, interface_id }.
  • Have MAC-oriented implementations use the supplied MAC without another Redfish lookup.
  • Have Dell use the supplied interface ID for NIC metadata and slot resolution.
  • Preserve the existing standalone Mac and InterfaceId variants and their behavior.
  • Cover shared MAC resolution and Dell’s interface-ID precedence with unit tests.

Boundaries

  • Do not add generic fallback or retry behavior inside LibRedfish.
  • Do not update NICo’s dependency or remove its current retry helper in this issue.
  • Do not change BIOS-job or reboot sequencing.
  • Persisted observations and desired-state synchronization remain Core work.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

Status
Verify

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions