Bug 769390

Summary: Switching to spice causes failure to start VM with old machine value, error message isn't that useful
Product: [Fedora] Fedora Reporter: Dan Williams <dcbw>
Component: qemuAssignee: Fedora Virtualization Maintainers <virt-maint>
Status: CLOSED WONTFIX QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 16CC: amit.shah, berrange, cfergeau, crobinso, dougsland, dpierce, dwmw2, gcosta, hbrock, itamar, jaswinder, jforbes, knoel, scottt.tw, virt-maint
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-02-11 17:24:43 EST Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Description Dan Williams 2011-12-20 12:18:00 EST
I switched to spice/qxl in my VM's configuration which resulted in a failure to start the VM.  It turns out that my VM's config has "machine=0.11" in it, which apparently is too old to support any virtio-serial channels at all, yielding this error when starting the VM:

Error starting domain: internal error Process exited while reading console log output: char device redirected to /dev/pts/6
do_spice_init: starting 0.9.1
spice_server_add_interface: SPICE_INTERFACE_KEYBOARD
spice_server_add_interface: SPICE_INTERFACE_MOUSE
spice_server_add_interface: SPICE_INTERFACE_QXL
red_worker_main: begin
ensure_display_channel_created: create display channel
ensure_cursor_channel_created: create cursor channel
qemu-kvm: -device virtserialport,bus=virtio-serial0.0,nr=1,chardev=charchannel0,id=channel0,name=com.redhat.spice.0: virtio-serial-bus: Out-of-range port id specified, max. allowed: 0
qemu-kvm: -device virtserialport,bus=virtio-serial0.0,nr=1,chardev=charchannel0,id=channel0,name=com.redhat.spice.0: Device 'virtserialport' could not be initialized

I suppose the solution for this is to also update the "machine" value (which isn't user-changable in the GUI AFAICS) when automatically creating the spice channels to ensure that the VM's config is compatible with using spice in the first place.

I just changed the "machine" value to 0.13 which allowed the VM to start.
Comment 1 Cole Robinson 2012-01-17 17:34:22 EST
This is kind of a difficult problem. we can't automatically change the machine value since it can have many other subtle side effects, changing low level hw details that make windows require reactivation for example. granted linux doesn't really care, but then again virt-manager doesn't know what OS your guest is running.

the ideal way this would work is:

- qemu has a verbose capabilities reporting system, communicating what devices/features it supports possibly dependent on the 'machine' type
- libvirt consumes this and forwards it through it's capabilities API
- virt-manager consumes this, sees that the qemu binary supports virtio-serial + spice but not your old machine version, disables the spice option in the UI with possibly some useful tooltip

unfortunately none of that exists (though its the end goal for me at least).
there are various other BZs tracking that work.

reassigning this bug to qemu for a better error message at least if machine type doesn't support a particular hw option.
Comment 2 Fedora Admin XMLRPC Client 2012-03-15 13:56:14 EDT
This package has changed ownership in the Fedora Package Database.  Reassigning to the new owner of this component.
Comment 3 Fedora End Of Life 2013-01-16 15:42:14 EST
This message is a reminder that Fedora 16 is nearing its end of life.
Approximately 4 (four) weeks from now Fedora will stop maintaining
and issuing updates for Fedora 16. It is Fedora's policy to close all
bug reports from releases that are no longer maintained. At that time
this bug will be closed as WONTFIX if it remains open with a Fedora 
'version' of '16'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version prior to Fedora 16's end of life.

Bug Reporter: Thank you for reporting this issue and we are sorry that 
we may not be able to fix it before Fedora 16 is end of life. If you 
would still like to see this bug fixed and are able to reproduce it 
against a later version of Fedora, you are encouraged to click on 
"Clone This Bug" and open it against that version of Fedora.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events. Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

The process we are following is described here: 
Comment 4 Cole Robinson 2013-02-11 17:24:43 EST
Well this was never fixed, and at this point the effort of adding that fix isn't too compelling given that we are dealing with very old machine types here. So just closing as WONTFIX