ipxe doesn't support dnsmasq

Bug #1384577 reported by Tan Lin
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Ironic
Fix Released
Undecided
Tan Lin
neutron
Fix Released
Medium
Tan Lin

Bug Description

The workflow of ipxe in ironic now only support ISC dhcpd.
I use dnsmasq and follow the install-guide:
https://github.com/openstack/ironic/blob/master/doc/source/deploy/install-guide.rst#ipxe-setup
but failed to get undionly.kpxe

I find the issue is from the option '!175,bootfile-name' in:
https://github.com/openstack/ironic/blob/master/ironic/common/pxe_utils.py
which is not recognized by dnsmasq

There are two things to do:
1. add dhcp-match=set:ipxe,175
2. add tag:!ipxe,option:bootfile-name,undionly.kpxe as a new option

For 1, we just need to modify the dhcp_agent.ini
for 2, we need to enable neutron add our new extra_tag after the old tag of port_id.

Tags: neutron
Tan Lin (tan-lin-good)
Changed in ironic:
assignee: nobody → Tan Lin (tan-lin-good)
Changed in neutron:
assignee: nobody → Tan Lin (tan-lin-good)
Revision history for this message
Lucas Alvares Gomes (lucasagomes) wrote :

Ah thanks for that Lin, I thought it was recognized by dnsmasq. IMO the option 2 looks better than 1, but it would require changes in neutron as you said.

Revision history for this message
Tan Lin (tan-lin-good) wrote :

Sorry, I wasn't too clear about what I had meant.
Unfortunately, we need both of them.
They are not two options, they are two things we need to add.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to neutron (master)

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

Changed in neutron:
status: New → In Progress
Kyle Mestery (mestery)
Changed in neutron:
importance: Undecided → Medium
milestone: none → kilo-1
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/130492
Committed: https://git.openstack.org/cgit/openstack/ironic/commit/?id=42f3d52ebbd06e2fb06bfb0fb9aa713cf93389a3
Submitter: Jenkins
Branch: master

commit 42f3d52ebbd06e2fb06bfb0fb9aa713cf93389a3
Author: Tan Lin <email address hidden>
Date: Thu Oct 23 15:38:06 2014 +0800

    Support ipxe with Dnsmasq

    The workflow of ipxe in ironic now only support ISC dhcpd.
    the cause is the option '!175,bootfile-name' is not recognized
    by dnsmasq.
    Add tag:!ipxe instead of !175 can correct this.

    Change-Id: Ie5cb7828c68cf7536a266d1a69c4bad296f43e26
    Closes-Bug: #1384577

Changed in ironic:
status: In Progress → Fix Committed
Kyle Mestery (mestery)
Changed in neutron:
milestone: kilo-1 → kilo-2
Thierry Carrez (ttx)
Changed in ironic:
milestone: none → kilo-1
status: Fix Committed → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to neutron (master)

Reviewed: https://review.openstack.org/130498
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=434665eb785a3abec654b6dd0b57ac2c78b0ced8
Submitter: Jenkins
Branch: master

commit 434665eb785a3abec654b6dd0b57ac2c78b0ced8
Author: Tan Lin <email address hidden>
Date: Thu Oct 23 19:00:22 2014 +0800

    Enable adding new tag with options

    It is useful to add a new tag when update the options
    with dnsmasq.
    We have a use case in Ironic to support ipxe with dnsmasq.
    It looks like this:
    dhcp_opts.append({'opt_name': 'tag:!ipxe,bootfile-name',
                      'opt_value': CONF.pxe.pxe_bootfile_name})

    Change-Id: Idfaae9e8f8b7582f988e9da8707ef7d4823c6ff4
    Closes-Bug: #1384577

Changed in neutron:
status: In Progress → Fix Committed
Thierry Carrez (ttx)
Changed in neutron:
status: Fix Committed → Fix Released
Thierry Carrez (ttx)
Changed in neutron:
milestone: kilo-2 → 2015.1.0
Thierry Carrez (ttx)
Changed in ironic:
milestone: kilo-1 → 2015.1.0
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.