Fail to chainload iPXE (undionly.kpxe)

Bug #1454332 reported by Lucas Alvares Gomes
14
This bug affects 3 people
Affects Status Importance Assigned to Milestone
Ironic
Fix Released
Medium
Lucas Alvares Gomes
Kilo
Fix Released
Undecided
Unassigned
ironic (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

I was working on a DELL R630 and it was failing to chainload the undionly.kpxe configuration in the way we set the DHCP configuration in Neutron.

By manually tweaking stuff I could get it to work. Here's what I had to change:

* In Ironic:

diff --git a/ironic/common/pxe_utils.py b/ironic/common/pxe_utils.py
index b24b716..40a4469 100644
--- a/ironic/common/pxe_utils.py
+++ b/ironic/common/pxe_utils.py
@@ -267,7 +267,7 @@ def dhcp_options_for_instance(task):
                               'opt_value': CONF.pxe.pxe_bootfile_name})
         # If the request comes from iPXE, direct it to boot from the
         # iPXE script
- dhcp_opts.append({'opt_name': 'bootfile-name',
+ dhcp_opts.append({'opt_name': 'tag:ipxe,bootfile-name',
                           'opt_value': ipxe_script_url})
     else:
         if deploy_utils.get_boot_mode_for_deploy(task.node) == 'uefi':

* In the custom dnsmasq we create for creating the "ipxe" tag in Neutron:

$ cat /etc/dnsmasq-ironic.conf
dhcp-userclass=set:ipxe,iPXE

(Instead of dhcp-match:set:ipxe,175) Tho dhcp-match should work, I just don't know why it didn't for that machine. Perhaps we should document both

Changed in ironic:
assignee: nobody → Lucas Alvares Gomes (lucasagomes)
importance: Undecided → Medium
milestone: none → liberty-1
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to ironic (master)

Fix proposed to branch: master
Review: https://review.openstack.org/182387

Changed in ironic:
status: New → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to ironic (master)

Reviewed: https://review.openstack.org/182387
Committed: https://git.openstack.org/cgit/openstack/ironic/commit/?id=4ec47b66602b4eb0b86ffd1fd69b70ef2bf16a25
Submitter: Jenkins
Branch: master

commit 4ec47b66602b4eb0b86ffd1fd69b70ef2bf16a25
Author: Lucas Alvares Gomes <email address hidden>
Date: Tue May 12 17:53:24 2015 +0100

    Fix chainloading iPXE (undionly.kpxe)

    This patch is making the neutron DHCP provider to explicitly check if
    the request is coming from iPXE before ACK'ing the PXE request with the
    iPXE script (When iPXE is enabled only).

    Also, update the documentation that explains how to configure neutron
    for iPXE to create the "ipxe" tag based on the DHCP user class or DHCP
    option 175 (as before).

    Change-Id: I60f9f515a9bd45aed6b2f6f9165a2f85259b3879
    Closes-Bug: #1454332

Changed in ironic:
status: In Progress → Fix Committed
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to ironic (stable/kilo)

Fix proposed to branch: stable/kilo
Review: https://review.openstack.org/188338

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to ironic (stable/kilo)

Reviewed: https://review.openstack.org/188338
Committed: https://git.openstack.org/cgit/openstack/ironic/commit/?id=c55b15cc0ab2ab7cbdcec25fa4d7e446912341c7
Submitter: Jenkins
Branch: stable/kilo

commit c55b15cc0ab2ab7cbdcec25fa4d7e446912341c7
Author: Lucas Alvares Gomes <email address hidden>
Date: Tue May 12 17:53:24 2015 +0100

    Fix chainloading iPXE (undionly.kpxe)

    This patch is making the neutron DHCP provider to explicitly check if
    the request is coming from iPXE before ACK'ing the PXE request with the
    iPXE script (When iPXE is enabled only).

    Also, update the documentation that explains how to configure neutron
    for iPXE to create the "ipxe" tag based on the DHCP user class or DHCP
    option 175 (as before).

    Conflicts:
     doc/source/deploy/install-guide.rst

    Change-Id: I60f9f515a9bd45aed6b2f6f9165a2f85259b3879
    Closes-Bug: #1454332
    (cherry picked from commit 4ec47b66602b4eb0b86ffd1fd69b70ef2bf16a25)

tags: added: in-stable-kilo
Changed in ironic:
milestone: none → 4.0.0
status: Fix Committed → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in ironic (Ubuntu):
status: New → Confirmed
Revision history for this message
James Page (james-page) wrote :

Marking Fix Released as Ubuntu now has 6.1.0 in yakkety.

Changed in ironic (Ubuntu):
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.