Bug 693991 - vdsm is missing support for multiple spice monitors
Summary: vdsm is missing support for multiple spice monitors
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: vdsm
Version: 6.1
Hardware: x86_64
OS: Linux
high
high
Target Milestone: rc
: ---
Assignee: Dan Kenigsberg
QA Contact: yeylon@redhat.com
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2011-04-06 08:11 UTC by Lubos Kocman
Modified: 2016-04-18 06:39 UTC (History)
8 users (show)

Fixed In Version: vdsm-4.9-66.el6
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2011-12-06 07:13:51 UTC
Target Upstream Version:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHEA-2011:1782 0 normal SHIPPED_LIVE new packages: vdsm 2011-12-06 11:55:51 UTC

Description Lubos Kocman 2011-04-06 08:11:49 UTC
Description of problem:


the -device qxl arguments are not being passed to qemu after setting up multiple monitors in RHEVM (spice).



Version-Release number of selected component (if applicable):

vdsm-4.9-57.el6.x86_64 (el6.1)
ic108

How reproducible:


Steps to Reproduce:
1. login to rhevm23
2. edit vm to support N monitors
3. boot the vm
  
Actual results:

always only one qxl device (see additional info)

vdsm.log: (see 'spiceMonitors': '2')

Total desktops after creation of 77fe4423-f518-4ccd-be4b-ecefb7d08f6f is 1
Thread-108::DEBUG::2011-04-06 09:03:51,467::clientIF::48::vds::(wrapper) return create with {'status': {'message': 'Done', 'code': 0}, 'vmList': {'cdrom': '/rhev/data-center/29969559-20ba-4278-91ec-03185fa45e30/9aa406d4-ded7-43f4-af90-7664ceb04d95/images/11111111-1111-1111-1111-111111111111/RHEV-toolsSetup_2.3_359.iso', 'bridge': 'rhevm', 'acpiEnable': 'true', 'emulatedMachine': 'rhel6.0.0', 'pid': '0', 'transparentHugePages': 'false', 'displaySecurePort': '-1', 'spiceSslCipherSuite': 'DEFAULT', 'cpuType': 'Conroe', 'ifid': '10', 'custom': {}, 'executable': '/usr/libexec/qemu-kvm', 'macAddr': '00:1a:4a:22:3a:06', 'boot': 'c', 'smp': '1', 'vmType': 'kvm', 'memSize': 1024, 'smpCoresPerSocket': '1', 'vmName': 'Win7x64-lk', 'spiceMonitors': '2', 'nice': '0', 'status': 'WaitForLaunch', 'vmId': '77fe4423-f518-4ccd-be4b-ecefb7d08f6f', 'displayIp': '0', 'drives': [{'index': '0', 'domainID': '67be4bed-7a42-4905-9aed-daf3517b670c', 'format': 'cow', 'volumeID': 'c7264e6e-145a-4791-8b60-7ebf1ac4c54e', 'imageID': '2e3f72d2-a673-4594-b542-fb141c28e529', 'poolID': '29969559-20ba-4278-91ec-03185fa45e30', 'propagateErrors': 'off', 'if': 'ide'}], 'displayPort': '-1', 'clientIp': '', 'nicModel': 'rtl8139', 'keyboardLayout': 'en-us', 'kvmEnable': 'true', 'soundDevice': 'ich6', 'timeOffset': '3554', 'spiceSecureChannels': 'smain,sinputs', 'display': 'qxl'}}
Thread-109::DEBUG::2011-04-06 09:03:51,468::clientIF::1078::vds::(memTestAndCommit) 77fe4423-f518-4ccd-be4b-ecefb7d08f6f: memAvailable 1451 memRequired 1089 Mb
Thread-109::INFO::2011-04-06 09:03:51,469::libvirtvm::748::vm.Vm::(_run) vmId=`77fe4423-f518-4ccd-be4b-ecefb7d08f6f`::VM wrapper has started
Thread-109::INFO::2011-04-06 09:03:51,470::dispatcher::94::Storage.Dispatcher.Protect::(run) Run and protect: prepareVolume, args: ( sdUUID=67be4bed-7a42-4905-9aed-daf3517b670c spUUID=29969559-20ba-4278-91ec-03185fa45e30 imgUUID=2e3f72d2-a673-4594-b542-fb141c28e529 volUUID=c7264e6e-145a-4791-8b60-7ebf1ac4c54e)
Thread-109::DEBUG::2011-04-06 09:03:51,470::task::491::TaskManager.Task::(_debug) Task 4f5c3130-b89e-4fa7-93fc-e484c1361e6f: moving from state init -> state preparing
Thread-109::INFO::2011-04-06 09:03:51,470::sp::1405::Storage.StoragePool::(getDomains) Get storage pool domains: {'32f604b5-517f-43a4-8472-283578098876': 'Attached', '67be4bed-7a42-4905-9aed-daf3517b670c': 'Active', '9aa406d4-ded7-43f4-af90-7664ceb04d95': 'Active'}

qemu cmd line:

(see missing -device qxl)

/usr/libexec/qemu-kvm -S -M rhel6.0.0 -cpu Conroe -enable-kvm -m 1024 -smp 1,sockets=1,cores=1,threads=1 -name Win7x64-lk -uuid 77fe4423-f518-4ccd-be4b-ecefb7d08f6f -smbios type=1,manufacturer=Red Hat,product=RHEL,version=6Server-6.1.0.1.el6,serial=66717C86-3375-11DF-BBDA-05C1501018A9_18:a9:05:c1:50:10,uuid=77fe4423-f518-4ccd-be4b-ecefb7d08f6f -nodefconfig -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/Win7x64-lk.monitor,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=2011-04-06T08:49:02 -boot c -device virtio-serial-pci,id=virtio-serial0,max_ports=16,bus=pci.0,addr=0x5 -drive file=/rhev/data-center/29969559-20ba-4278-91ec-03185fa45e30/67be4bed-7a42-4905-9aed-daf3517b670c/images/2e3f72d2-a673-4594-b542-fb141c28e529/c7264e6e-145a-4791-8b60-7ebf1ac4c54e,if=none,id=drive-ide0-0-0,format=qcow2,serial=94-b542-fb141c28e529,cache=none,werror=stop,rerror=stop,aio=native -device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 -drive if=none,media=cdrom,id=drive-ide0-1-0,readonly=on,format=raw -device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 -netdev tap,fd=24,id=hostnet0 -device rtl8139,netdev=hostnet0,id=net0,mac=00:1a:4a:22:3a:06,bus=pci.0,addr=0x3 -chardev socket,id=charchannel0,path=/var/lib/libvirt/qemu/channels/Win7x64-lk.com.redhat.rhevm.vdsm,server,nowait -device virtserialport,bus=virtio-serial0.0,nr=1,chardev=charchannel0,id=channel0,name=com.redhat.rhevm.vdsm -chardev spicevmc,id=charchannel1,name=vdagent -device virtserialport,bus=virtio-serial0.0,nr=2,chardev=charchannel1,id=channel1,name=com.redhat.spice.0 -usb -spice port=5900,tls-port=5901,addr=0,x509-dir=/etc/pki/vdsm/libvirt-spice,tls-channel=main,tls-channel=inputs -k en-us -vga qxl -global qxl-vga.vram_size=67108864 -device intel-hda,id=sound0,bus=pci.0,addr=0x4 -device hda-duplex,id=sound0-codec0,bus=sound0.0,cad=0



Expected results:

qemu-cmd line should contain "-device qxl" for each added monitor 

Additional info:

See ( m.setAttribute('heads', self.conf.get('spiceMonitors', '1')) )

 618             video = self.doc.createElement('video')
 619             m = self.doc.createElement('model')
 620             m.setAttribute('type', 'qxl')
 621             m.setAttribute('vram', '65536')
 622             m.setAttribute('heads', self.conf.get('spiceMonitors', '1'))
 623             video.appendChild(m)

Comment 5 Dan Kenigsberg 2011-04-06 12:27:39 UTC
which libvirt version are you using? it smells like a dup of bug 673578.

Comment 6 Lubos Kocman 2011-04-06 14:59:52 UTC
I'm using libvirt-0.8.7-15.el6.x86_64. I think that libvirt is fine. This was caused by vdsm (see fix).

Comment 7 Lubos Kocman 2011-04-06 15:03:33 UTC
Ignore previous command. It's a dupe. This was just workaround.

Comment 8 Lubos Kocman 2011-04-06 15:04:01 UTC

*** This bug has been marked as a duplicate of bug 673578 ***

Comment 9 Lubos Kocman 2011-05-12 11:59:47 UTC
Based on state of https://bugzilla.redhat.com/show_bug.cgi?id=673578:

We should get this fixed by sending 4 <video> elements (somehow like in my patch but with heads='1' in each element). 

 <video>
      <model type='qxl' vram='9216' heads='1'/>
    </video>
    <video>
      <model type='qxl' vram='9216' heads='1'/>
    </video>
    <video>
      <model type='qxl' vram='9216' heads='1'/>
    </video>
    <video>
      <model type='qxl' vram='9216' heads='1'/>
    </video>

Comment 14 Dan Kenigsberg 2011-05-13 08:31:28 UTC
http://gerrit.usersys.redhat.com/385

Comment 16 Jakub Libosvar 2011-05-19 11:29:47 UTC
Verified in vdsm-4.9-67.el6.x86_64

Comment 17 errata-xmlrpc 2011-12-06 07:13:51 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/RHEA-2011-1782.html


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