ipxe does not take into account nic boot order specified in libvirt domain

Bug #1409057 reported by Pasquale Porreca
10
This bug affects 1 person
Affects Status Importance Assigned to Milestone
ipxe (Ubuntu)
Fix Released
High
Unassigned
Trusty
Fix Released
High
Unassigned

Bug Description

========================================================================
Impact: unable to specify nic boot order
Test Case: use the xml below to create a VM, and check that the 'boot order' is ignored.
Regression potential: This cherrypicks 4 patches from upstream, with no conflict at all, so I would not expect any regression.
========================================================================

I'm using libvirt 1.2.2 on Ubuntu 14.04 and the ipxe version is 1.0.0+git-20131111.c3d1e78-2ubuntu1

I created a KVM virtual machine with 3 network interfaces and I used the <boot order> libvirt option to specify the boot order among different vNICs as specified in http://libvirt.org/formatdomain.html#elementsNICSBoot

This is the part of my libvirt xml file that describe the 3 defined network interfaces:

 <interface type='direct'>
      <mac address='52:54:00:00:00:01'/>
      <source dev='vboxnet0' mode='vepa'/>
      <model type='virtio'/>
      <boot order='2'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
    </interface>
    <interface type='direct'>
      <mac address='52:54:00:00:00:02'/>
      <source dev='vboxnet1' mode='vepa'/>
      <model type='virtio'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
    </interface>
    <interface type='direct'>
      <mac address='52:54:00:00:00:03'/>
      <source dev='wlan0' mode='vepa'/>
      <model type='virtio'/>
      <boot order='1'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
    </interface>

The first one (MAC 52:54:00:00:00:01) has boot order 2, the second one (MAC 52:54:00:00:00:02) has no boot order defined and the third one (MAC 52:54:00:00:00:03) has boot order 1.

The expected result should have been a DHCP bootstrap request sent first on the 3rd defined vNIC (boot order 1), then on 1st defined vNIC (boot order 2) and no more request sent (since there is no boot order defined for 2nd vNIC).

The actual result is that a DHCP bootsrtap request is sent on all interfaces and not in the order specified, but from the one with lower to higher pci slot (that is the same order in which they are defined in the xml file).

Here are the screenshots of the boot sequence:

http://imgur.com/jWVFbMo,VNguYI3#0
http://imgur.com/jWVFbMo,VNguYI3#1

The same bug seems to be solved in Red Hat Enterprise Linux 7.0 https://bugzilla.redhat.com/show_bug.cgi?id=1031518

Revision history for this message
Serge Hallyn (serge-hallyn) wrote :

Thanks for submitting this bug. Indeed it looks like the fix is upstream for quite some time now. We should merge the newer version from Debian, which should include this fix

Changed in ipxe (Ubuntu):
status: New → Triaged
importance: Undecided → High
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package ipxe - 1.0.0+git-20141004.86285d1-1ubuntu1

---------------
ipxe (1.0.0+git-20141004.86285d1-1ubuntu1) vivid; urgency=medium

  * Merge from Debian unstable. (LP: #1409057) Remaining changes:
    - d/p/enable-https.patch: Enable HTTPS support.
    - d/control,grub-ipxe*: Split grub integration from ipxe->grub-ipxe.
    - d/ipxe-qemu.links: Add compat links from /usr/share/qemu to
      /usr/lib/ipxe/qemu.
    - d/ipxe-qemu.install: Install ne.rom as pxe-ne2k_isa.rom.
  * Dropped changes, alternative fix in Debian:
    - d/control: Add libiberty-dev to BD's to fix FTBFS.
    - drop isolinux from build-deps and patch to augment ISOLINUX_BIN
    - Drop transitional kvm-ipxe package since we are past 14.04
 -- Serge Hallyn <email address hidden> Mon, 12 Jan 2015 10:32:26 -0600

Changed in ipxe (Ubuntu):
status: Triaged → Fix Released
description: updated
Changed in ipxe (Ubuntu Trusty):
importance: Undecided → High
status: New → Confirmed
Revision history for this message
Pasquale Porreca (pasquale-porreca) wrote :

Thank you for the quick fix. I tested the released package on Ubuntu 14.04 (trusty) and it works fine :)

Revision history for this message
Chris J Arges (arges) wrote : Please test proposed package

Hello Pasquale, or anyone else affected,

Accepted ipxe into trusty-proposed. The package will build now and be available at http://launchpad.net/ubuntu/+source/ipxe/1.0.0+git-20131111.c3d1e78-2ubuntu1.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, and change the tag from verification-needed to verification-done. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed. In either case, details of your testing will help us make a better decision.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

Changed in ipxe (Ubuntu Trusty):
status: Confirmed → Fix Committed
tags: added: verification-needed
Revision history for this message
Pasquale Porreca (pasquale-porreca) wrote :

I tested the package ipxe-qemu_1.0.0+git-20131111.c3d1e78-2ubuntu1.1_all.deb
It fixes the bug I reported

tags: added: verification-done
removed: verification-needed
Revision history for this message
Brian Murray (brian-murray) wrote : Update Released

The verification of the Stable Release Update for ipxe has completed successfully and the package has now been released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regressions.

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package ipxe - 1.0.0+git-20131111.c3d1e78-2ubuntu1.1

---------------
ipxe (1.0.0+git-20131111.c3d1e78-2ubuntu1.1) trusty-proposed; urgency=medium

  * Cherrypick 4 patches from upstream to fix specifying boot order.
    (LP: #1409057)
 -- Serge Hallyn <email address hidden> Wed, 14 Jan 2015 10:22:29 -0600

Changed in ipxe (Ubuntu Trusty):
status: Fix Committed → 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.