XML error: ram attribute only supported for type of qxl

Bug #1496357 reported by Thomas Mayer on 2015-09-16
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
virt-manager
Fix Released
Medium
virt-manager (Ubuntu)
Undecided
Unassigned

Bug Description

Reproduce with:

- Configure a VM with spice display and QXL video device, store and eventually run the machine
- Configure back to VNC display and video device other than QXL (e. g. Cirrus model)
- => error appears.

ProblemType: Bug
DistroRelease: Ubuntu 14.04
Package: virt-manager 0.9.5-1ubuntu3
ProcVersionSignature: Ubuntu 3.19.0-28.30~14.04.1-generic 3.19.8-ckt5
Uname: Linux 3.19.0-28-generic x86_64
ApportVersion: 2.14.1-0ubuntu3.13
Architecture: amd64
CurrentDesktop: Unity
Date: Wed Sep 16 13:14:37 2015
InstallationDate: Installed on 2014-11-29 (291 days ago)
InstallationMedia: Ubuntu 14.04.1 LTS "Trusty Tahr" - Release amd64 (20140722.2)
PackageArchitecture: all
SourcePackage: virt-manager
UpgradeStatus: No upgrade log present (probably fresh install)

Description of problem:
virt-manager should remove "vgamem" from guest automatically when change video from "qxl" to "vga"

Version-Release number of selected component (if applicable):
libvirt-1.2.8-9.el7.x86_64
virt-manager-1.1.0-8.el7.noarch
qemu-kvm-rhev-2.1.2-13.el7.x86_64

How reproducible:
100%

Steps to Reproduce:
1. Install a guest via virt-manager with qxl video:
...
    <video>
      <model type='qxl' ram='65536' vram='65536' vgamem='8192' heads='1'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
    </video>
...

2. Launch virt-manager, change guest video from qxl to vga: Double click guest name-->Show virtual hardware details-->change video from qxl to vga-->Apply

Actual results:
After click "Apply" button, get such error message:

Error changing VM configuration: XML error: vgamem attribute only supported for type of qxl

Traceback (most recent call last):
  File "/usr/share/virt-manager/virtManager/addhardware.py", line 1384, in change_config_helper
    vm.redefine_cached()
  File "/usr/share/virt-manager/virtManager/libvirtobject.py", line 222, in redefine_cached
    self._redefine_xml(xml)
  File "/usr/share/virt-manager/virtManager/libvirtobject.py", line 247, in _redefine_xml
    return self._redefine_helper(origxml, newxml)
  File "/usr/share/virt-manager/virtManager/libvirtobject.py", line 239, in _redefine_helper
    self._define(newxml)
  File "/usr/share/virt-manager/virtManager/domain.py", line 1041, in _define
    self.conn.define_domain(newxml)
  File "/usr/share/virt-manager/virtManager/connection.py", line 694, in define_domain
    return self._backend.defineXML(xml)
  File "/usr/lib64/python2.7/site-packages/libvirt.py", line 3442, in defineXML
    if ret is None:raise libvirtError('virDomainDefineXML() failed', conn=self)
libvirtError: XML error: vgamem attribute only supported for type of qxl

Expected results:
No such error showing and can change guest video successfully.

Additional info:
1. Can also reproduce this issue when change video from qxl to cirrus.

Try to verify this bug with new build:
virt-manager-1.1.0-9.el7.noarch

Steps as Comment 0:

1. Install a guest via virt-manager with qxl video:
...
    <video>
      <model type='qxl' ram='65536' vram='65536' vgamem='8192' heads='1'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
    </video>
...

2. Launch virt-manager, change guest video from qxl to vga: Double click guest name-->Show virtual hardware details-->change video from qxl to vga-->Apply

Result: video changed to VGA successfully with no error and guest can boot up.

     <video>
- <model type="qxl" ram="65536" vram="65536" vgamem="8192" heads="1"/>
- <address type="pci" domain="0x0000" bus="0x00" slot="0x02" function="0x0"/>
+ <model type="vga"/>
     </video>
     <redirdev bus="usb" type="spicevmc">
     </redirdev>

3. Rerun step2 and change video from qxl to cirrus.

     <video>
- <model type="qxl" ram="65536" vram="65536" vgamem="8192" heads="1"/>
- <address type="pci" domain="0x0000" bus="0x00" slot="0x02" function="0x0"/>
+ <model type="cirrus"/>
     </video>

Result: video changed to Cirrus successfully with no error and guest can boot up.

so move this bug from ON_QA to VERIFIED.

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-0427.html

Thomas Mayer (thomas303) wrote :
Thomas Mayer (thomas303) wrote :

Same bug was resolved in Redhat 7.0 according to

https://bugzilla.redhat.com/show_bug.cgi?id=920549

Thomas Mayer (thomas303) wrote :

I assume the upstream bugfix was https://github.com/virt-manager/virt-manager/commit/51e5a471202a67e3c9c1dd53c0afc333d77933c9 which was fixed for 1.2.0. Could this be backported, please?

Thomas Mayer (thomas303) wrote :

That fix was for https://bugzilla.redhat.com/show_bug.cgi?id=1169295 which was fixed in Redhat 7.1

https://bugzilla.redhat.com/show_bug.cgi?id=920549 is a duplicate of https://bugzilla.redhat.com/show_bug.cgi?id=928882 according to https://www.redhat.com/archives/virt-tools-list/2013-June/msg00000.html and was fixed in virt-manager-0.10.0-0.5.gitde1695b2.fc19 via https://github.com/virt-manager/virt-manager/commit/14578fc2c30b4e694db66443e0dca22ba9727c84

Basically that means that 14578fc2c30b4e694db66443e0dca22ba9727c84 and 51e5a471202a67e3c9c1dd53c0afc333d77933c9 should be backported to fix this issue.

Thomas Mayer (thomas303) wrote :

Use case/Motivation:

Sometimes I boot an existing machine with an ISO-CD like e.g. SystemRescueCD to perform some maintenance tasks (e.g. extend partitions). SystemRescueCD, however, cannot start its x-server in Spice mode ("no screens found").

Thomas Mayer (thomas303) wrote :

Bug still exists in 14.04 (up-to-date)

Changed in virt-manager:
importance: Unknown → Medium
status: Unknown → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.