[RFE] promote iPXE to separate boot interface

Bug #1628069 reported by Pavlo Shchelokovskyy
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Ironic
Fix Released
Wishlist
Pavlo Shchelokovskyy

Bug Description

This bug is related to https://bugs.launchpad.net/ironic/+bug/1526275 (dynamic iPXE configuration)

Currently we have a global per-conductor setting pxe.ipxe_enabled,
and our current PXEBoot interface code is riddled with "if ipxe_enabled then ...".

The proposed change is to promote iPXE to a separate iPXEBoot interface, that will be using dynamic iPXE configuration.

The upside is that iPXE vs PXE could be than configured per-node by setting an appropriate driver. As enabled_drivers is set in config by the operator, the necessity to deploy/configure the extra TFTP server for PXE or "caching" HTTP server for images with iPXE on each conductor can be inferred from what drivers are enabled.

The downside is of course a new driver explosion (which could be alleviated with driver composition reform).

summary: - promote iPXE to separate boot interface
+ [RFE] promote iPXE to separate boot interface
Dmitry Tantsur (divius)
Changed in ironic:
status: New → Confirmed
importance: Undecided → Wishlist
tags: added: needs-spec
Changed in ironic:
assignee: nobody → Pavlo Shchelokovskyy (pshchelo)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix proposed to ironic-specs (master)

Related fix proposed to branch: master
Review: https://review.openstack.org/385572

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

Reviewed: https://review.openstack.org/385572
Committed: https://git.openstack.org/cgit/openstack/ironic-specs/commit/?id=5d636efca6406a642f8eecb95947c861ef5cd0d3
Submitter: Jenkins
Branch: master

commit 5d636efca6406a642f8eecb95947c861ef5cd0d3
Author: Pavlo Shchelokovskyy <email address hidden>
Date: Wed Oct 12 20:28:03 2016 +0300

    Promote iPXE to separate boot interface

    This new boot interface should use "dynamic iPXE configuration"
    exclusively.

    Such move should eventually allow to not force PXE vs iPXE
    per-conductor, and simplify code base.

    Change-Id: I0c93cca9c777c1bdd0a6b0a0890a7854ef7ffb78
    Related-Bug: #1628069

Ruby Loo (rloo)
tags: added: rfe-approved
removed: needs-spec rfe
Revision history for this message
Sergii Golovatiuk (sgolovatiuk) wrote :

We hit this issue. 2 nodes out of 112 had issues with iPXE. It looks like iPXE firmware but it requires time to update it. It would be nice just to switch to PXE just for those 2 nodes.

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/668097

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

Reviewed: https://review.opendev.org/668097
Committed: https://git.openstack.org/cgit/openstack/ironic/commit/?id=66b07398310db1b4c26e1ba9fda247328478ed67
Submitter: Zuul
Branch: master

commit 66b07398310db1b4c26e1ba9fda247328478ed67
Author: Vanou Ishii <email address hidden>
Date: Thu Jun 27 03:46:40 2019 -0400

    Deal with iPXE boot interface incompatibility in Train

    In Train cycle, iPXE boot with [pxe]ipxe_enabled option in
    ironic.conf file will be removed. And ipxe boot interface
    will be the only boot interface to deploy Ironic node with
    iPXE. Till Train, iRMC driver has supported iPXE boot with
    [pxe]ipxe_enabled option.

    This commit copes with this incompatibility and supports
    ipxe boot interface by adding ipxe.iPXEBoot to
    supported_boot_interface.

    Change-Id: Iec2284c2d101aebadd9d1b531c44794e2d4efacf
    Related-Bug: #1628069

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

Related fix proposed to branch: stable/stein
Review: https://review.opendev.org/668921

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

Reviewed: https://review.opendev.org/668921
Committed: https://git.openstack.org/cgit/openstack/ironic/commit/?id=c695232e3eb80b9e063337cb5f8f029509a0cb5e
Submitter: Zuul
Branch: stable/stein

commit c695232e3eb80b9e063337cb5f8f029509a0cb5e
Author: Vanou Ishii <email address hidden>
Date: Thu Jun 27 03:46:40 2019 -0400

    Deal with iPXE boot interface incompatibility in Train

    In Train cycle, iPXE boot with [pxe]ipxe_enabled option in
    ironic.conf file will be removed. And ipxe boot interface
    will be the only boot interface to deploy Ironic node with
    iPXE. Till Train, iRMC driver has supported iPXE boot with
    [pxe]ipxe_enabled option.

    This commit copes with this incompatibility and supports
    ipxe boot interface by adding ipxe.iPXEBoot to
    supported_boot_interface.

    Change-Id: Iec2284c2d101aebadd9d1b531c44794e2d4efacf
    Related-Bug: #1628069
    (cherry picked from commit 66b07398310db1b4c26e1ba9fda247328478ed67)

tags: added: in-stable-stein
Changed in ironic:
status: Confirmed → Fix Released
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.