Bug 655062

Summary: use --dhcp-no-override option when using tftp
Product: Red Hat Enterprise Linux 6 Reporter: Eduardo Habkost <ehabkost>
Component: libvirtAssignee: Jiri Denemark <jdenemar>
Status: CLOSED ERRATA QA Contact: Virtualization Bugs <virt-bugs>
Severity: medium Docs Contact:
Priority: high    
Version: 6.1CC: akong, amit.shah, chyang, dallan, ddumas, dyuan, eblake, gren, jdenemar, kcao, mkenneth, mst, qcai, quintela, tburke, vbian, virt-maint, xen-maint, xhu
Target Milestone: rc   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: libvirt-0.8.6-1.el6 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: 594682 Environment:
Last Closed: 2011-05-19 13:24:14 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 594682    
Bug Blocks: 575298, 580953    

Comment 1 Jiri Denemark 2010-11-22 09:19:43 UTC
Fix upstream in v0.8.3-23-ge26672f:

commit e26672f78661272274580e0653b21017c7c31d4e
Author: Jiri Denemark <jdenemar>
Date:   Wed Aug 11 20:25:09 2010 +0200

    bridge: Add --dhcp-no-override option to dnsmasq
    
    --dhcp-no-override description from dnsmasq man page:
    
          Disable  re-use  of  the  DHCP servername and filename fields as
          extra option space. If it can, dnsmasq moves the boot server and
          filename  information  (from  dhcp-boot)  out of their dedicated
          fields into DHCP options. This make extra space available in the
          DHCP  packet  for options but can, rarely, confuse old or broken
          clients. This flag forces "simple and safe" behaviour  to  avoid
          problems in such a case.
    
    It seems some virtual network card ROMs are this old/buggy so let's add
    --dhcp-no-override as a workaround for them. We don't use extra DHCP
    options so this should be safe. The option was added in dnsmasq-2.41,
    which becomes the minimum required version.

Comment 2 Jiri Denemark 2010-12-23 23:48:57 UTC
Fixed by a rebase to libvirt-0.8.6

Comment 3 xhu 2010-12-27 02:30:38 UTC
Verified it on RHEL6_x86_64 Server and it passed:
libvirt-0.8.6-1.el6.x86_64
kernel-2.6.32-92.el6.x86_64
qemu-kvm-0.12.1.2-2.128.el6.x86_64

The steps are as follows:
1. #yum -y install syslinux
   #mkdir /var/lib/tftpboot
   #cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot
2, dowload vmlinuz and initrd.img under the /var/lib/tftpboot folder
 example: http://download.englab.nay.redhat.com/pub/rhel/rel-eng/RHEL6.0-Beta1-4.1/6.0/Server/x86_64/os/images/pxeboot/
3, mkdir /var/lib/tftpboot/pxelinux.cfg
4, create a file name default under the pxelinux.cfg folder
5, edit the file with the contents
DISPLAY boot.txt
DEFAULT rhel6
LABEL rhel6
        kernel vmlinuz
        append initrd=initrd.img

PROMPT 1
TIMEOUT 0
6, create a new virtual network , the xml description is as follows

<network>
  <name>netboot</name>
  <bridge name="virbr1" stp='off' delay='1'/>
  <forward/>
  <ip address="192.168.10.1" netmask="255.255.255.0">
    <tftp root="/var/lib/tftpboot" />
    <dhcp>
      <range start="192.168.10.2" end="192.168.10.254" />
      <bootp file="pxelinux.0" />
    </dhcp>
  </ip>
</network>
7, using virt-manager to create a new vm in pxe network install way, and choose netboot virtual network as its network
After step 7, the vm is installed successfully.

Comment 5 Vivian Bian 2011-02-15 11:53:14 UTC
retest with libvirt-0.8.7-6.el6.x86_64 PASSED . So could set bug status to VERIFIED


The steps are as follows:
1. #yum -y install syslinux
   #mkdir /var/lib/tftpboot
   #cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot
2, dowload vmlinuz and initrd.img under the /var/lib/tftpboot folder
 example:
http://download.englab.nay.redhat.com/pub/rhel/rel-eng/RHEL6.0-Beta1-4.1/6.0/Server/x86_64/os/images/pxeboot/
3, mkdir /var/lib/tftpboot/pxelinux.cfg
4, create a file name default under the pxelinux.cfg folder
5, edit the file with the contents
DISPLAY boot.txt
DEFAULT rhel6
LABEL rhel6
        kernel vmlinuz
        append initrd=initrd.img

PROMPT 1
TIMEOUT 0
6, create a new virtual network , the xml description is as follows

<network>
  <name>netboot</name>
  <bridge name="virbr1" stp='off' delay='1'/>
  <forward/>
  <ip address="192.168.10.1" netmask="255.255.255.0">
    <tftp root="/var/lib/tftpboot" />
    <dhcp>
      <range start="192.168.10.2" end="192.168.10.254" />
      <bootp file="pxelinux.0" />
    </dhcp>
  </ip>
</network>
7, using virt-manager to create a new vm in pxe network install way, and choose
netboot virtual network as its network
After step 7, the vm is installed successfully.

Comment 8 errata-xmlrpc 2011-05-19 13:24:14 UTC
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHBA-2011-0596.html