Bug 920549 - error shows when changing video from qxl to other models
Summary: error shows when changing video from qxl to other models
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: virt-manager
Version: 7.0
Hardware: x86_64
OS: Linux
medium
medium
Target Milestone: rc
: ---
Assignee: virt-mgr-maint
QA Contact: Virtualization Bugs
URL:
Whiteboard:
Depends On:
Blocks: 980334 985184
TreeView+ depends on / blocked
 
Reported: 2013-03-12 10:50 UTC by EricLee
Modified: 2014-06-17 23:59 UTC (History)
11 users (show)

Fixed In Version: virt-manager-0.10.0-1.el7
Doc Type: Bug Fix
Doc Text:
Clone Of:
: 980334 (view as bug list)
Environment:
Last Closed: 2014-06-13 10:14:27 UTC


Attachments (Terms of Use)

Description EricLee 2013-03-12 10:50:36 UTC
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

Comment 2 Martin Kletzander 2013-03-14 15:08:24 UTC
This is cause by the wrong use of 'ram' instead of 'vram' and recent change in libvirt, should be trivial to fix.

Comment 3 CongDong 2013-04-07 05:38:12 UTC
I can reproduce this bug.

Comment 4 CongDong 2013-04-07 06:48:14 UTC
# 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.

Comment 5 Vojtěch Boček 2013-05-20 09:09:10 UTC
This bug also appears in Fedora 19 with virt-manager-0.10.0-0.4.gitb68faac8.fc19.noarch

Comment 6 Martin Kletzander 2013-06-03 12:29:49 UTC
Patch proposed upstream:

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

Comment 7 Martin Kletzander 2013-06-05 08:25:35 UTC
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 8 Martin Kletzander 2013-07-16 08:36:10 UTC
Moving to ON_QA as this was fixed long ago, sorry for leaving it in POST.

Comment 9 CongDong 2013-07-17 07:54:38 UTC
I can reproduce this bug:
Version:
# rpm -qa libvirt kernel qemu-kvm virt-manager
qemu-kvm-1.5.0-2.el7.x86_64
libvirt-1.1.0-1.el7.x86_64
virt-manager-0.9.4-4.el7.noarch
kernel-3.7.0-0.36.el7.x86_64

Steps:
As steps in description.

Result:
Can't change qxl to other mode, get error message:
Error changing VM configuration: XML error: ram attribute only supported for type of qxl

Verify:
Version:
# rpm -qa qemu-kvm libvirt virt-manager
virt-manager-0.10.0-1.el7.noarch
qemu-kvm-1.5.1-2.el7.x86_64
libvirt-1.1.0-2.el7.x86_64
kernel-3.7.0-0.36.el7.x86_64

Steps:
As steps in description.

Result:
Can change qxl to other mode.

Debug info:
--- Original XML
+++ New XML
@@ -59,8 +59,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"/>
     </video>
     <memballoon model="virtio">
       <address type="pci" domain="0x0000" bus="0x00" slot="0x06" function="0x0"/>

2013-07-17 15:48:04,792 (details:589): Closing VM details: <vmmDomain object at 0x20370a0 (virtManager+domain+vmmDomain at 0x153cf00)>
2013-07-17 15:48:04,794 (engine:333): window counter decremented to 1
2013-07-17 15:48:05,960 (manager:213): Closing manager
2013-07-17 15:48:05,962 (engine:333): window counter decremented to 0
2013-07-17 15:48:05,979 (details:589): Closing VM details: <vmmDomain object at 0x20370a0 (virtManager+domain+vmmDomain at 0x153cf00)>
2013-07-17 15:48:06,037 (engine:413): Exiting app normally.

As the result, change to VERIFIED.

Comment 10 Ludek Smid 2014-06-13 10:14:27 UTC
This request was resolved in Red Hat Enterprise Linux 7.0.

Contact your manager or support representative in case you have further questions about the request.


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