Bug 1302420 - Document procedure for updating iPXE boot interface if interface other than eth0 is being used.
Document procedure for updating iPXE boot interface if interface other than e...
Product: Red Hat Quickstart Cloud Installer
Classification: Red Hat
Component: doc-Technical_Notes (Show other bugs)
Unspecified Unspecified
unspecified Severity unspecified
: ga
: 1.0
Assigned To: Julie
James Olin Oden
: Triaged
: 1347307 (view as bug list)
Depends On:
  Show dependency treegraph
Reported: 2016-01-27 15:03 EST by Jason Montleon
Modified: 2016-09-13 12:25 EDT (History)
9 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2016-09-13 12:25:06 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)
Shows where to look for interface during the boot process. (11.11 KB, image/png)
2016-01-27 15:05 EST, Jason Montleon
no flags Details

  None (edit)
Description Jason Montleon 2016-01-27 15:03:32 EST
Description of problem:
OSP Directors introspection and deployment boot process is susceptible to an issue with iPXE which causes it to fail.

We have worked around the issue more or less as described in comment 41 on the bug, though the sed command used is changed slightly:
sed -i 's|${mac|${net0/mac|g' \
  /usr/share/instack-undercloud/ironic-discoverd/os-apply-config/httpboot/discoverd.ipxe \
  /usr/lib/python2.7/site-packages/ironic/drivers/modules/boot.ipxe \
  /usr/lib/python2.7/site-packages/ironic/drivers/modules/ipxe_config.template \

Typically this should fix the issue, unless in some odd case the user is not booting off the first interface.

If when booting net0 reads anything else and the discovery/deployment process fails when trying to register/introspect OSP nodes they will have to run a sed command to replace net0 in these files with netX where X is the value they see.

As an example:

sed -i 's|${net0|${net1|g' \
  /usr/share/instack-undercloud/ironic-discoverd/os-apply-config/httpboot/discoverd.ipxe \
  /usr/lib/python2.7/site-packages/ironic/drivers/modules/boot.ipxe \
  /usr/lib/python2.7/site-packages/ironic/drivers/modules/ipxe_config.template \
Comment 1 Jason Montleon 2016-01-27 15:05 EST
Created attachment 1118873 [details]
Shows where to look for interface during the boot process.
Comment 8 Jason Montleon 2016-07-22 10:52:55 EDT
Comment 41 was supposed to point to:

https://bugzilla.redhat.com/show_bug.cgi?id=1298268 is unrelated and has to do with eth0 coming up by default on the server after an ISO install, whereas other interfaces did not. This has changed though and no interfaces are brought up by default now, so that bug can likely be closed after checking with apagac

This issue is to due with introspection failing on OSP overcloud nodes due to issues with the ipxe-roms package on the undercloud and/or the ipxe-roms-qemu package on hypervisors for vms being used to test.

This problem should be largely fixed for baremetal in OSP 8.

If using guest VM's running on an updated Fedora 23 or 24 hypervisor to test it should not have a problem.

Guests running on a RHEL 7.2 or older hypervisor could see issues. The fix would be similar to above, else obtaining an updated ipxe-roms-qemu package for the host running the vms either when RHEL 7.3 comes out (in truth a recent Fedora pkg version can probably be installed, though I doubt this would be supported even if it works)

These are the files that would need to be edited for OSP 8 Director:

sed -i 's|${mac|${net0/mac|g' \
/httpboot/inspector.ipxe \
/usr/lib/python2.7/site-packages/ironic/drivers/modules/ipxe_config.template \
Comment 9 Jason Montleon 2016-07-26 11:20:50 EDT
*** Bug 1347307 has been marked as a duplicate of this bug. ***
Comment 10 Brett Thurber 2016-07-27 17:50:00 EDT
Confirmed the following works in the Ravello QCI env:  sed -i 's|${mac|${net0/mac|g' /usr/share/instack-undercloud/ironic-inspector/os-apply-config/httpboot/inspector.ipxe /usr/lib/python2.7/site-packages/ironic/drivers/modules/boot.ipxe /usr/lib/python2.7/site-packages/ironic/drivers/modules/ipxe_config.template /httpboot/*.ipxe

Note the path names are slightly different.
Comment 13 James Olin Oden 2016-09-09 15:13:06 EDT
Verified in version 1.0 of the document
Comment 15 errata-xmlrpc 2016-09-13 12:25:06 EDT
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.


Note You need to log in before you can comment on or make changes to this bug.