Note: This is a beta release of Red Hat Bugzilla 5.0. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Also email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback here.
Bug 980334 - error shows when changing video from qxl to other models
Summary: error shows when changing video from qxl to other models
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: python-virtinst
Version: 6.5
Hardware: x86_64
OS: Linux
medium
medium
Target Milestone: rc
: ---
Assignee: Martin Kletzander
QA Contact: Virtualization Bugs
URL:
Whiteboard:
: 1006218 (view as bug list)
Depends On: 920549
Blocks: 985184
TreeView+ depends on / blocked
 
Reported: 2013-07-02 06:02 UTC by tingting zheng
Modified: 2013-11-21 10:38 UTC (History)
13 users (show)

Fixed In Version: python-virtinst-0.600.0-17.el6
Doc Type: Bug Fix
Doc Text:
Clone Of: 920549
: 985184 (view as bug list)
Environment:
Last Closed: 2013-11-21 10:38:01 UTC
Target Upstream Version:


Attachments (Terms of Use)


Links
System ID Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2013:1604 normal SHIPPED_LIVE python-virtinst bug fix and enhancement update 2013-11-20 21:39:12 UTC

Description tingting zheng 2013-07-02 06:02:51 UTC
The bug can be reproduced on rhel6.
version:
virt-manager-0.9.0-18.el6.x86_64
libvirt-0.10.2-18.el6_4.9.x86_64


+++ This bug was initially created as a clone of Bug #920549 +++

Description of problem:
error shows when changing video from qxl to other models

Version-Release number of selected component (if applicable):
# rpm -qa libvirt qemu-kvm virt-manager kernel
kernel-3.7.0-0.36.el7.x86_64
virt-manager-0.9.4-4.el7.noarch
libvirt-1.0.3-1.el7.x86_64
qemu-kvm-1.4.0-1.el7.x86_64

Reproduce steps:
1. prepare a guest with a qxl video device, guest xml like:
    <video>
      <model type='qxl' ram='65536' vram='65536' heads='1'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
    </video>

2. # virt-manager, select video device from the guest, and change model from qxl to others will get error:
Error changing VM configuration: XML error: ram attribute only supported for type of qxl

Actual results:
As steps.

Expected results:
Step 2 should work well and delete <ram> element automaticly when change models.

Additional info:
Debug info:
2013-03-12 18:18:24,788 (details:557): Showing VM details: <vmmDomain object at 0x33095f0 (virtManager+domain+vmmDomain at 0x3370ba0)>
2013-03-12 18:18:24,818 (engine:326): window counter incremented to 2
2013-03-12 18:18:33,442 (libvirtobject:135): Redefining 'kvm1' with XML diff:
--- Original XML
+++ New XML
@@ -57,8 +57,7 @@
       <address type="pci" domain="0x0000" bus="0x00" slot="0x04" function="0x0"/>
     </sound>
     <video>
-      <model type="qxl" ram="65536" vram="65536" heads="1"/>
-      <address type="pci" domain="0x0000" bus="0x00" slot="0x02" function="0x0"/>
+      <model type="cirrus" ram="65536"/>
     </video>
     <memballoon model="virtio">
       <address type="pci" domain="0x0000" bus="0x00" slot="0x06" function="0x0"/>

2013-03-12 18:18:33,447 (error:80): dialog message: Error changing VM configuration: XML error: ram attribute only supported for type of qxl : Error changing VM configuration: XML error: ram attribute only supported for type of qxl

Traceback (most recent call last):
  File "/usr/share/virt-manager/virtManager/details.py", line 2463, in _change_config_helper
    self.vm.redefine_cached()
  File "/usr/share/virt-manager/virtManager/domain.py", line 335, in redefine_cached
    self._redefine_xml(xml)
  File "/usr/share/virt-manager/virtManager/libvirtobject.py", line 147, in _redefine_xml
    return self._redefine_helper(origxml, newxml)
  File "/usr/share/virt-manager/virtManager/libvirtobject.py", line 137, in _redefine_helper
    self._define(newxml)
  File "/usr/share/virt-manager/virtManager/domain.py", line 822, in _define
    self.conn.define_domain(newxml)
  File "/usr/share/virt-manager/virtManager/connection.py", line 814, in define_domain
    return self.vmm.defineXML(xml)
  File "/usr/lib64/python2.7/site-packages/libvirt.py", line 2808, in defineXML
    if ret is None:raise libvirtError('virDomainDefineXML() failed', conn=self)
libvirtError: XML error: ram attribute only supported for type of qxl

--- Additional comment from RHEL Product and Program Management on 2013-03-12 06:58:35 EDT ---

Since this bug report was entered in bugzilla, the release flag has been
set to ? to ensure that it is properly evaluated for this release.

--- Additional comment from Martin Kletzander on 2013-03-14 11:08:24 EDT ---

This is cause by the wrong use of 'ram' instead of 'vram' and recent change in libvirt, should be trivial to fix.

--- Additional comment from CongDong on 2013-04-07 01:38:12 EDT ---

I can reproduce this bug.

--- Additional comment from CongDong on 2013-04-07 02:48:14 EDT ---

# rpm -qa libvirt qemu-kvm virt-manager kernel
virt-manager-0.9.4-4.el7.noarch
libvirt-1.0.3-1.el7.x86_64
qemu-kvm-1.4.0-1.el7.x86_64

setps are same with description:

1. prepare a guest with a qxl video device, guest xml like:
    <video>
      <model type='qxl' ram='65536' vram='65536' heads='1'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
    </video>

2. # virt-manager, select video device from the guest, and change model from qxl to others will get error:
Error changing VM configuration: XML error: ram attribute only supported for type of qxl

Results:
can't change mode to others, and error come out same as description.

--- Additional comment from Vojtěch Boček on 2013-05-20 05:09:10 EDT ---

This bug also appears in Fedora 19 with virt-manager-0.10.0-0.4.gitb68faac8.fc19.noarch

--- Additional comment from Martin Kletzander on 2013-06-03 08:29:49 EDT ---

Patch proposed upstream:

https://www.redhat.com/archives/virt-tools-list/2013-June/msg00000.html

--- Additional comment from Martin Kletzander on 2013-06-05 04:25:35 EDT ---

Moving to POST:

commit 14578fc2c30b4e694db66443e0dca22ba9727c84
Author: Cole Robinson <crobinso@redhat.com>
Date:   Mon May 27 18:50:25 2013 -0400

    details: Fix changing cirrus->QXL for active VM (bz 928882)

Comment 2 Martin Kletzander 2013-07-16 08:36:20 UTC
Fixed upstream with:

commit 14578fc2c30b4e694db66443e0dca22ba9727c84
Author: Cole Robinson <crobinso@redhat.com>
Date:   Mon May 27 18:50:25 2013 -0400

    details: Fix changing cirrus->QXL for active VM (bz 928882)

Comment 6 tingting zheng 2013-07-19 07:10:18 UTC
Tested with:
python-virtinst-0.600.0-17.el6.noarch
virt-manager-0.9.0-18.el6.x86_64
libvirt-0.10.2-19.el6.x86_64

When launch virt-manager, select video device from the guest, and change model from qxl to others will still get the same error.
# virt-manager --debug
2013-07-19 15:04:59,319 (libvirtobject:135): Redefining 'demo' with XML diff:
--- Original XML 
+++ New XML 
@@ -62,7 +62,7 @@
       <address type="pci" domain="0x0000" bus="0x00" slot="0x04" function="0x0"/>
     </sound>
     <video>
-      <model type="qxl" ram="65536" vram="65536" heads="1"/>
+      <model type="cirrus" ram="65536"/>
       <address type="pci" domain="0x0000" bus="0x00" slot="0x02" function="0x0"/>
     </video>
     <memballoon model="virtio">

2013-07-19 15:04:59,330 (error:80): dialog message: Error changing VM configuration: XML error: ram attribute only supported for type of qxl : Error changing VM configuration: XML error: ram attribute only supported for type of qxl

Traceback (most recent call last):
  File "/usr/share/virt-manager/virtManager/details.py", line 2333, in _change_config_helper
    self.vm.redefine_cached()
  File "/usr/share/virt-manager/virtManager/domain.py", line 326, in redefine_cached
    self._redefine_xml(xml)
  File "/usr/share/virt-manager/virtManager/libvirtobject.py", line 147, in _redefine_xml
    return self._redefine_helper(origxml, newxml)
  File "/usr/share/virt-manager/virtManager/libvirtobject.py", line 137, in _redefine_helper
    self._define(newxml)
  File "/usr/share/virt-manager/virtManager/domain.py", line 775, in _define
    self.conn.define_domain(newxml)
  File "/usr/share/virt-manager/virtManager/connection.py", line 813, in define_domain
    return self.vmm.defineXML(xml)
  File "/usr/lib64/python2.6/site-packages/libvirt.py", line 2667, in defineXML
    if ret is None:raise libvirtError('virDomainDefineXML() failed', conn=self)
libvirtError: XML error: ram attribute only supported for type of qxl

So the bug is not fixed,move back to ASSIGNED.

Comment 7 Martin Kletzander 2013-07-22 05:31:09 UTC
This is only a fix for the python-virtinst part and new virt-manager has to make a use of that.  The python-virtinst itself will not prevent this error.  I'm moving it back to ON_QA, please test with next virt-manager (the new virt-manager should give you an error with old python-virtinst).

Sorry for the confusion with these bugs.

Comment 8 tingting zheng 2013-08-15 06:04:15 UTC
Tested the bug with:
virt-manager-0.9.0-19.el6.x86_64
python-virtinst-0.600.0-18.el6.noarch
libvirt-0.10.2-22.el6.x86_64

Change video model from qxl to other models such as cirrus,no error occurs,so move the bug to VERIFIED.

# virt-manager --debug
@@ -51,7 +51,7 @@
       <address type="pci" domain="0x0000" bus="0x00" slot="0x04" function="0x0"/>
     </sound>
     <video>
-      <model type="qxl" ram="65536" vram="65536" heads="1"/>
+      <model type="cirrus"/>
       <address type="pci" domain="0x0000" bus="0x00" slot="0x02" function="0x0"/>
     </video>
     <memballoon model="virtio">

Comment 9 Martin Kletzander 2013-09-12 12:29:49 UTC
*** Bug 1006218 has been marked as a duplicate of this bug. ***

Comment 10 errata-xmlrpc 2013-11-21 10:38:01 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.

http://rhn.redhat.com/errata/RHBA-2013-1604.html


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