extra dhcp options not exposed to pxe deploy ramdisk

Bug #1401298 reported by Adam Gandelman
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Ironic
Opinion
Wishlist
Unassigned

Bug Description

I'm attempting to deploy in an environment where I need to push out MTU settings to nodes via DHCP, but this is currently not possible. There is a documented solution for this on the Neutron side @ http://docs.openstack.org/admin-guide-cloud/content/openvswitch_plugin.html

Ironic's current pxe_config.template contains the "ipappend 3" kernel parameter for the deploy ramdisk. This causes pxelinux to append (among other things) ip=$ip:$boot_server:$gw:$netmask to the kernel parameters. The deploy-ironic ramdisk will use these settings to manually bring up networking rather than relying on DHCP. If no networking is passed via kernel params, it will instead use DHCP and any additional options, ie forced MTU, will be honored.** syslinux docs suggest, wrt 'ipappend 3':

Note: The use of option 1 is no substitute for running a DHCP client in the booted system and should instead only be used to seed the client for a request. Without regular renewals, the lease acquired by the PXE BIOS will expire, making the IP address available for reuse by the DHCP server.

IMO the pxe template should change to 'ipappend 2', which will cause pxelinux to not pass minimal networking info via kernel params, and allow the ramdisk to request DHCP from Neutron, where operators have the ability to push additional tweaks to clients. There may be some DIB work that needs to be done here, as well.

** There is a current diskimage-builder bug around the DHCP code path in its ramdisk, but it is expected to work: https://bugs.launchpad.net/diskimage-builder/+bug/1401289

Tags: pxe
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/141148

Changed in ironic:
status: New → In Progress
Dmitry Tantsur (divius)
Changed in ironic:
importance: Undecided → Wishlist
tags: added: pxe
Changed in ironic:
assignee: nobody → Adam Gandelman (gandelman-a)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to ironic (master)

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

commit cb82dabdca5c37d9ac54e4c207a896a32f18525b
Author: Adam Gandelman <email address hidden>
Date: Thu Dec 11 11:31:19 2014 -0800

    Do not pass PXE net config from bootloader to ramdisk

    All PXE templates currently pass network configuration from the
    bootloader to the ramdisk via a kernel parameter,
    ip=$ip:$tftp-server:$gateway:$netmask. The current deploy-ironic
    ramdisks built by DIB uses this to bring up networking manually,
    but this behavior exists there for non-PXE deployments where DHCP
    is unavailable. We ideally want ramdisks to use DHCP to allow pushing
    more than just ip/gw/nm. This updates PXE templates to not pass net config,
    since DHCP is assumed to be functioning for all PXE env. Without the
    ip= parameter, the ramdisk has no easy way to resolve the boot server's
    address. To signal where to callback to, a boot_server parameter has
    been added that points back to the TFTP server address.

    Closes-bug: 1401298

    Change-Id: Icc04de7b8b7324ce685f930d2e8074b0c764fc0c

Changed in ironic:
status: In Progress → Fix Committed
Revision history for this message
Jim Rollenhagen (jim-rollenhagen) wrote :

Re-opened, we had to revert this because it broke tripleo Fedora jobs: https://review.openstack.org/#/c/152129/

Changed in ironic:
status: Fix Committed → In Progress
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/152551

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Change abandoned on ironic (master)

Change abandoned by Adam Gandelman (<email address hidden>) on branch: master
Review: https://review.openstack.org/152551

Changed in ironic:
assignee: Adam Gandelman (gandelman-a) → nobody
Dmitry Tantsur (divius)
Changed in ironic:
status: In Progress → Triaged
Revision history for this message
John L. Villalovos (happycamp) wrote :
Changed in ironic:
assignee: nobody → John L. Villalovos (happycamp)
Changed in ironic:
assignee: John L. Villalovos (happycamp) → nobody
Revision history for this message
Michael Turek (mjturek) wrote :

This wishlist bug has been open more than a year without any activity. I'm going to move it to "Opinion / Wishlist", which is an easily-obtainable queue of older requests that have come on. This bug can be reopened (set back to "New") if someone decides to work on this.

Changed in ironic:
status: Triaged → Opinion
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.