[RFE] Redfish UEFI HTTPBoot

Bug #2032380 reported by Julia Kreger
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Ironic
Fix Released
Wishlist
Julia Kreger

Bug Description

Similar to existing redfish virtual media functionality, is the concept of Redfish based UEFI HTTPBoot URL support where the client sends to the server a URL of an ISO image to bootstrap from upon booting.

This seems reasonable enough that we could create a boot interface based upon the "redfish-virtual-media" interface, where the fundimental internals for connecting to the BMC and interacting to attach a virtual media device, but are instead used to provide a HTTPBoot URL to the boot resource of the BMC.

If we view the DMTF Schema (DSP8010), and view the ComputerSystem schema, "UefiHttp" was added as a BootSource target in v1_1_0. A URL target was added in v_1_9_0.

In other words:

BootSourceOverrideEnabled = Once
BootSourceOverrideMode = UEFI
BootSourceOverrideTarget = UefiHttp
HttpBootUri = URL for ISO image.

Overall, it seems like an easy win, as long as we can support the fields in sushy and then ironic can have an additional way to boot a remote machine since this mechanism is asking the machine to establish local network connectivity and for the firmware (EFI) to perform the boot operation.

Nota bene: This is *not* HTTP URL booting via the dhcp response which is super similar to iPXE. We should support that too. Initial conceptual work at: https://review.opendev.org/c/openstack/ironic/+/610715

Dmitry Tantsur (divius)
Changed in ironic:
status: New → Triaged
importance: Undecided → Wishlist
Changed in ironic:
status: Triaged → In Progress
Changed in ironic:
assignee: nobody → Julia Kreger (juliaashleykreger)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to ironic (master)

Reviewed: https://review.opendev.org/c/openstack/ironic/+/900964
Committed: https://opendev.org/openstack/ironic/commit/041a7d7064491958278725123af0c1b8fa8aefe5
Submitter: "Zuul (22348)"
Branch: master

commit 041a7d7064491958278725123af0c1b8fa8aefe5
Author: Julia Kreger <email address hidden>
Date: Tue Nov 14 14:55:57 2023 -0800

    Redfish UefiHttp boot support

    Adds a redfish-https boot interface, based upon the
    redfish-virtual-media boot interface, however substantially copies
    some base methods because of simplification offered to use by
    putting "attach/detach" logic into how the sushy library handles
    the application and reset of a URL as a boot setting.

    This feature also increases the requirement for the Sushy library
    to version 4.7.0 which includes support to set the HttpBootUri
    field in the BMC and automatically unset it as well.

    Closes-Bug: #2032380
    Change-Id: I991611cd67cb91aea21fc30bbae7cd24409dbbfa

Changed in ironic:
status: In Progress → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/ironic 24.0.0

This issue was fixed in the openstack/ironic 24.0.0 release.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix merged to ironic (master)

Reviewed: https://review.opendev.org/c/openstack/ironic/+/900965
Committed: https://opendev.org/openstack/ironic/commit/e19fd1d050cbabfdafa40c4743f82cd4c7649f82
Submitter: "Zuul (22348)"
Branch: master

commit e19fd1d050cbabfdafa40c4743f82cd4c7649f82
Author: Julia Kreger <email address hidden>
Date: Tue Nov 14 16:15:42 2023 -0800

    Add HTTP versions of network boot interfaces

    This change adds two network boot interfaces, ``http`` and
    ``http-ipxe``. These interfaces are based upon the underlying PXE
    boot interface code in ironic, and where this differs is it signals
    to Ironic that we must do the boot loader needful in terms of telling
    DHCP to send a URL instead of a filename and IP address for PXE
    as a starting point.

    The naming of the interfaces focuses more on the transport mechanism
    and then specific style. Very similar to existing ``pxe`` and ``ipxe``
    interface modeling, except in the ``ipxe`` case, it is more a specific
    loader and mechanism to be utilized.

    Related-Bug: #2032380
    Change-Id: Ie7ace88b62b9179f640ef2a732dd228e12bd320d

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix proposed to ironic (master)

Related fix proposed to branch: master
Review: https://review.opendev.org/c/openstack/ironic/+/922160

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix merged to ironic (master)

Reviewed: https://review.opendev.org/c/openstack/ironic/+/922160
Committed: https://opendev.org/openstack/ironic/commit/c21b7d70380a97edd393212058d103537fe43d42
Submitter: "Zuul (22348)"
Branch: master

commit c21b7d70380a97edd393212058d103537fe43d42
Author: Jay Faulkner <email address hidden>
Date: Mon Jun 17 15:10:50 2024 -0700

    Enable HTTP network boot for Redfish hardware

    Redfish hardware usually will support better methods -- e.g.
    redfish-https or redfish-virtual-media, however we've had some user
    requests for the http boot interfaces on Redfish.

    Since we can generally expect the generic boot interfaces to work on
    redfish, this enables all of them.

    Related-Bug: #2032380
    Change-Id: I9c36072f6165baaa985862113b283f34bed7bee4

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.