Bug 788263 - can't pxe boot vm without "enable boot menu" checked
Summary: can't pxe boot vm without "enable boot menu" checked
Keywords:
Status: CLOSED WORKSFORME
Alias: None
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: qemu-kvm
Version: 6.2
Hardware: Unspecified
OS: Unspecified
medium
low
Target Milestone: rc
: ---
Assignee: Amos Kong
QA Contact: Virtualization Bugs
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2012-02-07 22:26 UTC by John Holland
Modified: 2015-05-25 00:06 UTC (History)
7 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2012-03-29 09:22:41 UTC
Target Upstream Version:


Attachments (Terms of Use)

Description John Holland 2012-02-07 22:26:32 UTC
Description of problem:


Version-Release number of selected component (if applicable):

RHEL 6.2 
How reproducible:
Create a KVM virtual machine on a network that has a cobbler server ready to pxeboot and install onto it. Uncheck all boot options except Network. Leave "enable boot menu" unchecked.

Steps to Reproduce:
1.
2.
3.
  
Actual results:
VM seems to be attempting to PXE boot but reports it is unable to connect.

Expected results:
It should connect and pxe boot.

Additional info:
There is no reason based on the GUI to think that "enable boot menu" is required to pxe boot. It would be great to just change the GUI or add a message so that it is apparent that that is necessary. It was very repeatable in our RHEV environment.

Comment 1 Cole Robinson 2012-02-07 22:44:59 UTC
Thanks for the report. Enabling the boot menu should not be required to make PXE boot work. So I assume this is a bug.

Please provide the non working qemu command line and the working qemu command line, but should be in /var/log/libvirt/qemu/$vmname.log

This likely is not a virt-manager issue though, so reassigning to kvm

Comment 3 John Holland 2012-02-08 12:22:48 UTC
first two command lines did not work, last one did. Created new VM in virt-manager, told it to install from CD-ROM. When it booted off the CD-Rom image, shut it down. Went into details, turned off CD-ROM boot option and turned on PXE boot option. It failed to connect to the DHCP server (which is on another VM). Then turned on "Enable boot menu" and it connected and brought up the cobbler/pxe menu (blue rectangle)

I also was wondering how it would behave if I created the machine with the install from PXE boot selected. That also failed in the same way, and was fixed in the same way by "Enable boot menu"

=======================================================================
First machine (install off of CD-ROM, abort,install off PXE, fail,Enable boot menu)
=======================================================================
[root@foundation qemu]# cat testbug.log 
2012-02-08 07:04:52.425: starting up
LC_ALL=C PATH=/sbin:/usr/sbin:/bin:/usr/bin QEMU_AUDIO_DRV=none /usr/libexec/qemu-kvm -S -M rhel6.2.0 -enable-kvm -m 1024 -smp 1,sockets=1,cores=1,threads=1 -name testbug -uuid 75ac8d95-4e47-af00-cc50-d07c7368f710 -nodefconfig -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/testbug.monitor,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc -no-reboot -no-shutdown -drive file=/dev/mapper/vgSystem-lvtestbug,if=none,id=drive-virtio-disk0,format=raw,cache=none,aio=native -device virtio-blk-pci,bus=pci.0,addr=0x5,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=2 -drive file=/root/rhel-server-6.2-x86_64-dvd.iso,if=none,media=cdrom,id=drive-ide0-1-0,readonly=on,format=raw -device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0,bootindex=1 -netdev tap,fd=21,id=hostnet0,vhost=on,vhostfd=26 -device virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:57:2c:79,bus=pci.0,addr=0x3 -chardev pty,id=charserial0 -device isa-serial,chardev=charserial0,id=serial0 -usb -device usb-tablet,id=input0 -vnc 127.0.0.1:4 -vga cirrus -device intel-hda,id=sound0,bus=pci.0,addr=0x4 -device hda-duplex,id=sound0-codec0,bus=sound0.0,cad=0 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x6
char device redirected to /dev/pts/5
qemu: terminating on signal 15 from pid 2174
2012-02-08 07:05:21.466: shutting down
2012-02-08 07:06:08.866: starting up
LC_ALL=C PATH=/sbin:/usr/sbin:/bin:/usr/bin QEMU_AUDIO_DRV=none /usr/libexec/qemu-kvm -S -M rhel6.2.0 -enable-kvm -m 1024 -smp 1,sockets=1,cores=1,threads=1 -name testbug -uuid 75ac8d95-4e47-af00-cc50-d07c7368f710 -nodefconfig -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/testbug.monitor,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc -no-shutdown -drive file=/dev/mapper/vgSystem-lvtestbug,if=none,id=drive-virtio-disk0,format=raw,cache=none,aio=native -device virtio-blk-pci,bus=pci.0,addr=0x5,drive=drive-virtio-disk0,id=virtio-disk0 -drive if=none,media=cdrom,id=drive-ide0-1-0,readonly=on,format=raw -device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 -netdev tap,fd=21,id=hostnet0,vhost=on,vhostfd=26 -device virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:57:2c:79,bus=pci.0,addr=0x3,bootindex=1 -chardev pty,id=charserial0 -device isa-serial,chardev=charserial0,id=serial0 -usb -device usb-tablet,id=input0 -vnc 127.0.0.1:4 -vga cirrus -device intel-hda,id=sound0,bus=pci.0,addr=0x4 -device hda-duplex,id=sound0-codec0,bus=sound0.0,cad=0 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x6
char device redirected to /dev/pts/5
qemu: terminating on signal 15 from pid 2174
2012-02-08 07:06:50.156: shutting down
2012-02-08 07:08:10.404: starting up
LC_ALL=C PATH=/sbin:/usr/sbin:/bin:/usr/bin QEMU_AUDIO_DRV=none /usr/libexec/qemu-kvm -S -M rhel6.2.0 -enable-kvm -m 1024 -smp 1,sockets=1,cores=1,threads=1 -name testbug -uuid 75ac8d95-4e47-af00-cc50-d07c7368f710 -nodefconfig -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/testbug.monitor,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc -no-shutdown -boot order=n,menu=on -drive file=/dev/mapper/vgSystem-lvtestbug,if=none,id=drive-virtio-disk0,format=raw,cache=none,aio=native -device virtio-blk-pci,bus=pci.0,addr=0x5,drive=drive-virtio-disk0,id=virtio-disk0 -drive if=none,media=cdrom,id=drive-ide0-1-0,readonly=on,format=raw -device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 -netdev tap,fd=21,id=hostnet0,vhost=on,vhostfd=26 -device virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:57:2c:79,bus=pci.0,addr=0x3 -chardev pty,id=charserial0 -device isa-serial,chardev=charserial0,id=serial0 -usb -device usb-tablet,id=input0 -vnc 127.0.0.1:4 -vga cirrus -device intel-hda,id=sound0,bus=pci.0,addr=0x4 -device hda-duplex,id=sound0-codec0,bus=sound0.0,cad=0 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x6
char device redirected to /dev/pts/5
qemu: terminating on signal 15 from pid 2174
2012-02-08 07:09:33.094: shutting down
[root@foundation qemu]# 


===================================================
Second machine (install off PXE, which fails, then again with Enable boot menu, which succeeds`)
==================================================

[root@foundation qemu]# cat testbug2.log 
2012-02-08 07:14:35.159: starting up
LC_ALL=C PATH=/sbin:/usr/sbin:/bin:/usr/bin QEMU_AUDIO_DRV=none /usr/libexec/qemu-kvm -S -M rhel6.2.0 -enable-kvm -m 1024 -smp 1,sockets=1,cores=1,threads=1 -name testbug2 -uuid 54f71ffe-b350-881c-067d-8b3bf44f8929 -nodefconfig -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/testbug2.monitor,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc -no-reboot -no-shutdown -drive file=/dev/mapper/lvSystem-lvtestbug2,if=none,id=drive-virtio-disk0,format=raw,cache=none -device virtio-blk-pci,bus=pci.0,addr=0x5,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=2 -netdev tap,fd=21,id=hostnet0,vhost=on,vhostfd=26 -device virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:fa:45:5a,bus=pci.0,addr=0x3,bootindex=1 -chardev pty,id=charserial0 -device isa-serial,chardev=charserial0,id=serial0 -usb -device usb-tablet,id=input0 -vnc 127.0.0.1:4 -vga cirrus -device intel-hda,id=sound0,bus=pci.0,addr=0x4 -device hda-duplex,id=sound0-codec0,bus=sound0.0,cad=0 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x6
char device redirected to /dev/pts/5
qemu-kvm: -drive file=/dev/mapper/lvSystem-lvtestbug2,if=none,id=drive-virtio-disk0,format=raw,cache=none: could not open disk image /dev/mapper/lvSystem-lvtestbug2: Invalid argument
2012-02-08 07:14:35.643: shutting down
2012-02-08 07:15:02.396: starting up
LC_ALL=C PATH=/sbin:/usr/sbin:/bin:/usr/bin QEMU_AUDIO_DRV=none /usr/libexec/qemu-kvm -S -M rhel6.2.0 -enable-kvm -m 1024 -smp 1,sockets=1,cores=1,threads=1 -name testbug2 -uuid fee74c54-2fb2-0fa3-0c11-5f555dbec01b -nodefconfig -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/testbug2.monitor,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc -no-reboot -no-shutdown -drive file=/dev/mapper/vgSystem-lvtestbug2,if=none,id=drive-virtio-disk0,format=raw,cache=none,aio=native -device virtio-blk-pci,bus=pci.0,addr=0x5,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=2 -netdev tap,fd=21,id=hostnet0,vhost=on,vhostfd=26 -device virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:fa:45:5a,bus=pci.0,addr=0x3,bootindex=1 -chardev pty,id=charserial0 -device isa-serial,chardev=charserial0,id=serial0 -usb -device usb-tablet,id=input0 -vnc 127.0.0.1:4 -vga cirrus -device intel-hda,id=sound0,bus=pci.0,addr=0x4 -device hda-duplex,id=sound0-codec0,bus=sound0.0,cad=0 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x6
char device redirected to /dev/pts/5
qemu: terminating on signal 15 from pid 2174
2012-02-08 07:16:02.681: shutting down
2012-02-08 07:16:10.865: starting up
LC_ALL=C PATH=/sbin:/usr/sbin:/bin:/usr/bin QEMU_AUDIO_DRV=none /usr/libexec/qemu-kvm -S -M rhel6.2.0 -enable-kvm -m 1024 -smp 1,sockets=1,cores=1,threads=1 -name testbug2 -uuid fee74c54-2fb2-0fa3-0c11-5f555dbec01b -nodefconfig -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/testbug2.monitor,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc -no-shutdown -boot order=c,menu=on -drive file=/dev/mapper/vgSystem-lvtestbug2,if=none,id=drive-virtio-disk0,format=raw,cache=none,aio=native -device virtio-blk-pci,bus=pci.0,addr=0x5,drive=drive-virtio-disk0,id=virtio-disk0 -netdev tap,fd=21,id=hostnet0,vhost=on,vhostfd=26 -device virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:fa:45:5a,bus=pci.0,addr=0x3 -chardev pty,id=charserial0 -device isa-serial,chardev=charserial0,id=serial0 -usb -device usb-tablet,id=input0 -vnc 127.0.0.1:4 -vga cirrus -device intel-hda,id=sound0,bus=pci.0,addr=0x4 -device hda-duplex,id=sound0-codec0,bus=sound0.0,cad=0 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x6
char device redirected to /dev/pts/5
qemu: terminating on signal 15 from pid 2174
2012-02-08 07:17:04.669: shutting down
[root@foundation qemu]#

Comment 4 Amos Kong 2012-03-20 09:09:33 UTC
what's your qemu-kvm version?

'-boot' option is used to setup the boot order. The default boot order is "cad"
disk->floppy->cdrom  (no network),

If you want to boot from network, 'n' should be assigned by -boot option.
and 'menu' is unnecessary.

bootindex is just used to set a boot list for devices

eg: qemu-kvm -boot n -device virtio-net-pci,netdev=id1,bootindex=2 -netdev tap,...
                     -device virtio-net-pci,netdev=id2,bootindex=1 -netdev tap,...

qemu would boot from second nic, it will not work without '-boot n'

It seems that it's not a bug.

Comment 5 Amos Kong 2012-03-20 09:59:42 UTC
(In reply to comment #4)
> what's your qemu-kvm version?
> 
> '-boot' option is used to setup the boot order. The default boot order is "cad"
> disk->floppy->cdrom  (no network),

> If you want to boot from network, 'n' should be assigned by -boot option.
> and 'menu' is unnecessary.

If you want to boot from network, assign 'n' by '-boot' option,
Or use bootindex for net device.
 
> bootindex is just used to set a boot list for devices
>
> eg: qemu-kvm -boot n -device virtio-net-pci,netdev=id1,bootindex=2 -netdev
> tap,...
>                      -device virtio-net-pci,netdev=id2,bootindex=1 -netdev
> tap,...
> 
> qemu would boot from second nic, it will not work without '-boot n'

Sorry, it's wrong (I didn't test with seabios)
boot and bootindex are mutually exclusive, they could not be used together.

Comment 6 Gleb Natapov 2012-03-20 10:20:37 UTC
(In reply to comment #5)
> (In reply to comment #4)
> > what's your qemu-kvm version?
> > 
> > '-boot' option is used to setup the boot order. The default boot order is "cad"
> > disk->floppy->cdrom  (no network),
> 
> > If you want to boot from network, 'n' should be assigned by -boot option.
> > and 'menu' is unnecessary.
> 
> If you want to boot from network, assign 'n' by '-boot' option,
> Or use bootindex for net device.
only bootindex should be used, -boot as a way of specifying boot order is deprecated. -boot flag should be used to enable boot menu only "-boot menu=on".

So I see two bugs here. Firs is that when "enable boot menu" is specified in virt-manager it uses -boot to specify default boot order instead of bootindex. Second is that -boot order=n works, but bootidex does not.

What is your seabios version?

Comment 7 Amos Kong 2012-03-20 11:00:20 UTC
In comment #3

> =======================================================================
> First machine (install off of CD-ROM, abort,install off PXE, fail,
> Enable boot menu)
> =======================================================================
>
> 1. cdrom: bootindex=1 nic: bootindex=2
> 2. nic: bootindex=1 (pxe fail)

bootindex=1 doesn't work here (bug ?)

> 3. -boot order=n,menu=on
>
> ===================================================
> Second machine (install off PXE, which fails, then again with
> Enable boot menu, which succeeds`)
> ==================================================
>
> 1. nic: bootindex=1 blk: bootindex=2 (pxe fail)

bootindex=1 doesn't work here (bug ?)

> 2. -boot order=c,menu=on

try disk first (failed), then try network (success) (it's expected)

I tested with latest qemu-kvm/seabios, bug doesn't exist.

Comment 8 Amos Kong 2012-03-29 09:22:41 UTC
I could not reproduce this bug with seabios-0.6.1.2-3.el6.x86_64 & qemu-kvm-0.12.1.2-2.209.el6.x86_64 (which are the standard packages in RHEV3.0 & RHEL6.2)

I would close this bz as WORKSFORME. 

Hi John Holland, please reply this bz if you have some confuse.


Note You need to log in before you can comment on or make changes to this bug.