RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
Bug 1047724 - Guest could not start when enable boot menu and 4 boot devices
Summary: Guest could not start when enable boot menu and 4 boot devices
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: virt-manager
Version: 7.0
Hardware: Unspecified
OS: Unspecified
medium
medium
Target Milestone: rc
: ---
Assignee: Pavel Hrdina
QA Contact: Virtualization Bugs
URL:
Whiteboard:
Depends On:
Blocks: 1047726
TreeView+ depends on / blocked
 
Reported: 2014-01-02 02:23 UTC by Cui Lei
Modified: 2015-11-19 05:22 UTC (History)
9 users (show)

Fixed In Version: virt-manager-1.2.0-1.el7
Doc Type: Bug Fix
Doc Text:
Clone Of:
: 1047726 (view as bug list)
Environment:
Last Closed: 2015-11-19 05:22:13 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)
guest.xml (3.47 KB, text/xml)
2014-01-02 02:24 UTC, Cui Lei
no flags Details


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2015:2206 0 normal SHIPPED_LIVE virt-manager bug fix and enhancement update 2015-11-19 08:17:29 UTC

Description Cui Lei 2014-01-02 02:23:27 UTC
Description of problem:
Guest could not start when enable boot menu and 4 boot devices, here is the error message:
"Error starting domain: internal error: process exited while connecting to monitor: qemu-kvm: Too many boot devices for PC"
Guest xml please refer to attachment

If make <bootmenu enable='no'/>, guest could start

Detail:
Traceback (most recent call last):
  File "/usr/share/virt-manager/virtManager/asyncjob.py", line 100, in cb_wrapper
    callback(asyncjob, *args, **kwargs)
  File "/usr/share/virt-manager/virtManager/asyncjob.py", line 122, in tmpcb
    callback(*args, **kwargs)
  File "/usr/share/virt-manager/virtManager/domain.py", line 1220, in startup
    self._backend.create()
  File "/usr/lib64/python2.7/site-packages/libvirt.py", line 698, in create
    if ret == -1: raise libvirtError ('virDomainCreate() failed', dom=self)
libvirtError: internal error: process exited while connecting to monitor: qemu-kvm: Too many boot devices for PC

Here is the key part from libvirtd.log

2014-01-02 01:59:08.950+0000: 25918: debug : virCommandRunAsync:2229 : About to run LC_ALL=C PATH=/sbin:/usr/sbin:/bin:/usr/bin QEMU_AUDIO_DRV=none /usr/libexec/qemu-kvm -name citrix-lcui -S -M rhel6.5.0 -cpu qemu32 -enable-kvm -m 937 -realtime mlock=off -smp 1,maxcpus=3,sockets=3,cores=1,threads=1 -uuid 3694f287-9230-824b-3feb-fe1ba25c103d -nodefconfig -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/citrix-lcui.monitor,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc -no-shutdown -boot order=cdan,menu=on -device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 -drive file=/var/lib/libvirt/images/citrix-lcui-xvda,if=none,id=drive-virtio-disk0,format=raw,cache=none -device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x4,drive=drive-virtio-disk0,id=virtio-disk0 -drive if=none,media=cdrom,id=drive-ide0-0-0,readonly=on,format=raw -device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 -netdev tap,fd=25,id=hostnet0,vhost=on,vhostfd=26 -device virtio-net-pci,netdev=hostnet0,id=net0,mac=ae:82:88:e6:59:56,bus=pci.0,addr=0x3 -chardev pty,id=charserial0 -device isa-serial,chardev=charserial0,id=serial0 -device usb-tablet,id=input0 -vnc 0.0.0.0:2 -vga cirrus -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x5

Please pay attention to "-boot order=cdan,menu=on"



Version-Release number of selected component (if applicable):
libvirt-1.1.1-16.el7.x86_64
qemu-kvm-1.5.3-30.el7.x86_64
kernel-3.10.0-64.el7.x86_64
virt-manager-0.10.0-8.el7.noarch


How reproducible:
always

Steps to Reproduce:
1. Prepare a guest and open it with virt-manger

2. In VM details page-->Boot Options, tick "Enable boot menu" and tick all the 4 boot devices. (you could also edit xml directly)

3. start the guest

Actual results:
Error message popup, "Error starting domain: internal error: process exited while connecting to monitor: qemu-kvm: Too many boot devices for PC"

Expected results:
No error message popup

Additional info:
Un-check "Enable boot menu" check boor change <bootmenu enable='no'/>), the guest could start with enable 4 boot devices.

Comment 1 Cui Lei 2014-01-02 02:24:44 UTC
Created attachment 844338 [details]
guest.xml

Comment 4 Pavel Hrdina 2015-06-19 09:08:48 UTC
Moving to qemu-kvm, we support this option and the error message is from qemu-kvm.

Comment 5 Gerd Hoffmann 2015-06-22 07:10:27 UTC
(In reply to Pavel Hrdina from comment #4)
> Moving to qemu-kvm, we support this option and the error message is from
> qemu-kvm.

Moving back to virt-manager.  Bootordering via "-boot order=" simply doesn't work for more than three devices, due to virtual hardware restrictions.  We got bootindex to fix that (and other issues too, for example you can specify *which* disk to boot from) years ago.  libvirt supports this via "<boot order='$priority'/>" for bootable devices in domain xml.  virt-manager should use that to configure the boot order.

Comment 6 Pavel Hrdina 2015-06-25 13:28:25 UTC
Upstream commit:

commit 719f23a273e0db8c43a36f478c888f7a258bb00b
Author: Cole Robinson <crobinso>
Date:   Sun Feb 9 13:36:12 2014 -0500

    cli: Support per-device <boot order=>


Fixed by rebase to upstream virt-manager-1.2.0.

Comment 7 Xiaodai Wang 2015-06-26 07:14:28 UTC
I can reproduce this bug with package:
# rpm -q virt-manager
virt-manager-0.10.0-8.el7.noarch

Steps:
1. prepare a guest and open the guest details window. Check "Enable boot menu" and select all of the four boot devices.
2. Start the guest.


Result:
Error starting domain: internal error: process exited while connecting to monitor: 2015-06-26T06:13:47.60379Z qemu-kvm: Too many boot devices for PC

Then try to verify with latest build:
virt-manager-1.2.1-2.el7.noarch.rpm  


Result:
After updated virt-manger to latest packages and start the guest directly, it still reports the above error. 

1. I checked the xml, it's same as the old one. so when start the guest, the same error reports.
  <os>
    <type arch='x86_64' machine='pc-i440fx-rhel7.0.0'>hvm</type>
    <boot dev='network'/>
    <boot dev='hd'/>
    <boot dev='fd'/>
    <boot dev='cdrom'/>
    <bootmenu enable='yes'/>
  </os>
2. I checked the Boot Options GUI, now only two boot devices are left. and then add another two IDE disk and Apply it. Check the xml, "<boot dev..." are removed and "<boot order..." are added for each boot device.
3. Now start the guest again, it boots successfully.

So the bug is fixed. 

By the way, I think it's better to automatically modify the old xml to correctly format when starting the guest in virt-manager version which suport "<boot order...".

Comment 9 Xiaodai Wang 2015-07-08 08:50:20 UTC
Move the bug to VERIFIED based on #comment 7.

Comment 11 errata-xmlrpc 2015-11-19 05:22:13 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://rhn.redhat.com/errata/RHBA-2015-2206.html


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