Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 928354

Summary: Wake up from hibernation failed: AttributeError: 'VideoDevice' object has no attribute 'specParams'
Product: [Retired] oVirt Reporter: Raul Laansoo <raul.laansoo>
Component: vdsmAssignee: Omer Frenkel <ofrenkel>
Status: CLOSED WORKSFORME QA Contact: Haim <hateya>
Severity: high Docs Contact:
Priority: urgent    
Version: 3.2CC: abaron, acathrow, ahadas, bazulay, danken, dyasny, iheim, mgoldboi, michal.skrivanek, ofrenkel, yeylon, ykaul
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard: virt
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-06-11 19:21:39 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
vdsm.log
none
qemu vm log
none
vmCreate command log
none
ovirt negine log none

Description Raul Laansoo 2013-03-27 13:53:53 UTC
Created attachment 717086 [details]
vdsm.log

Description of problem:
Wake up from hibernation failed: AttributeError: 'VideoDevice' object has no attribute 'specParams'

Version-Release number of selected component (if applicable):
vdsm.x86_64 4.10.3-10.el6 @ovirt-beta
vdsm-cli.noarch 4.10.3-10.el6 @ovirt-beta
vdsm-python.x86_64 4.10.3-10.el6 @ovirt-beta
vdsm-xmlrpc.noarch 4.10.3-10.el6 @ovirt-beta
libvirt.x86_64 0.10.2-18.el6 @sl
libvirt-client.x86_64  0.10.2-18.el6@ sl
libvirt-lock-sanlock.x86_64 0.10.2-18.el6 @sl
libvirt-python.x86_64  0.10.2-18.el6 @sl

How reproducible:


Steps to Reproduce:
1. Suspend VM
2. Start VM
3.
  
Actual results:


Expected results:


Additional info:

Comment 1 Raul Laansoo 2013-03-27 13:54:52 UTC
Created attachment 717091 [details]
qemu vm log

Comment 2 Dan Kenigsberg 2013-03-27 14:27:42 UTC
Ouch.

Thread-1324::ERROR::2013-03-27 15:39:59,284::vm::716::vm.Vm::(_startUnderlyingVm) vmId=`bd64c535-76da-46c4-940e-f2d57adbfa9a`::The vm start process failed
Traceback (most recent call last):
  File "/usr/share/vdsm/vm.py", line 678, in _startUnderlyingVm
    self._run()
  File "/usr/share/vdsm/libvirtvm.py", line 1519, in _run
    domxml = hooks.before_vm_start(self._buildCmdLine(), self.conf)
  File "/usr/share/vdsm/libvirtvm.py", line 1367, in _buildCmdLine
    devElem = dev.getXML()
  File "/usr/share/vdsm/libvirtvm.py", line 944, in getXML
    m.setAttribute('vram', self.specParams['vram'])
AttributeError: 'VideoDevice' object has no attribute 'specParams'


Which Engine version have you used? what is the clusterLevel?

Comment 3 Raul Laansoo 2013-03-27 20:23:19 UTC
Cluster level is 3.2 and ovirt-engine version 3.2.0-1.39.el6 from http://www.dreyou.org/ovirt/ovirt-engine/

Comment 4 Dan Kenigsberg 2013-03-29 14:03:06 UTC
Where was the VM first started? (which vdsm version was that? Can you reproduce the log of that initial vmCreate command?)

It somehow has a "devices" list that lacks any kind of video card, which has led the Vm to start with a miserable

  <model type='cirrus' vram='9216' heads='1'/>

(vram should have been 65536 for a single monitor).

'devices': [{'nicModel': 'pv', 'macAddr': '00:1a:4a:a8:46:ed', 'linkActive': True, 'network': 'ovirtmgmt', 'specParams': {}, 'filter': 'vdsm-no-mac-spoofing', 'alias': u'net0', 'deviceId': 'c6857f0a-2173-4ae3-9d2c-443464482d0a', 'address': {u'slot': u'0x03', u'bus': u'0x00', u'domain': u'0x0000', u'type': u'pci', u'function': u'0x0'}, 'device': 'bridge', 'type': 'interface', 'name': u'vnet0'}, {'index': '2', 'iface': 'ide', 'name': u'hdc', 'alias': u'ide0-1-0', 'shared': 'false', 'specParams': {'path': ''}, 'readonly': 'True', 'deviceId': 'd036c31a-6bb5-454f-be8f-53c641a48fbe', 'address': {u'bus': u'1', u'controller': u'0', u'type': u'drive', u'target': u'0', u'unit': u'0'}, 'device': 'cdrom', 'path': '', 'type': 'disk'}, {'address': {u'slot': u'0x05', u'bus': u'0x00', u'domain': u'0x0000', u'type': u'pci', u'function': u'0x0'}, 'index': 0, 'iface': 'virtio', 'apparentsize': '3221225472', 'specParams': {}, 'imageID': '6d7040b8-9192-4b04-ad4a-04c4981bd24d', 'readonly': 'False', 'shared': 'false', 'truesize': '3221225472', 'type': 'disk', 'domainID': '69e8c376-00bc-4a4a-abf6-de38bc91c00a', 'reqsize': '0', 'format': 'cow', 'deviceId': '6d7040b8-9192-4b04-ad4a-04c4981bd24d', 'poolID': '0d105f5d-4c71-4c12-99d9-824930b3bea4', 'device': 'disk', 'path': '/rhev/data-center/0d105f5d-4c71-4c12-99d9-824930b3bea4/69e8c376-00bc-4a4a-abf6-de38bc91c00a/images/6d7040b8-9192-4b04-ad4a-04c4981bd24d/42c0b479-114b-4d3d-9bca-319c025ac690', 'propagateErrors': 'off', 'optional': 'false', 'name': u'vda', 'bootOrder': u'1', 'volumeID': '42c0b479-114b-4d3d-9bca-319c025ac690', 'alias': u'virtio-disk0', 'volumeChain': [{'path': '/rhev/data-center/0d105f5d-4c71-4c12-99d9-824930b3bea4/69e8c376-00bc-4a4a-abf6-de38bc91c00a/images/6d7040b8-9192-4b04-ad4a-04c4981bd24d/42c0b479-114b-4d3d-9bca-319c025ac690', 'domainID': '69e8c376-00bc-4a4a-abf6-de38bc91c00a', 'volumeID': '42c0b479-114b-4d3d-9bca-319c025ac690', 'imageID': '6d7040b8-9192-4b04-ad4a-04c4981bd24d'}]}, {'device': 'memballoon', 'specParams': {'model': 'none'}, 'type': 'balloon'}, {'device': u'usb', 'alias': u'usb0', 'type': 'controller', 'address': {u'slot': u'0x01', u'bus': u'0x00', u'domain': u'0x0000', u'type': u'pci', u'function': u'0x2'}}, {'device': u'ide', 'alias': u'ide0', 'type': 'controller', 'address': {u'slot': u'0x01', u'bus': u'0x00', u'domain': u'0x0000', u'type': u'pci', u'function': u'0x1'}}, {'device': u'virtio-serial', 'alias': u'virtio-serial0', 'type': 'controller', 'address': {u'slot': u'0x04', u'bus': u'0x00', u'domain': u'0x0000', u'type': u'pci', u'function': u'0x0'}}, {'device': u'unix', 'alias': u'channel0', 'type': u'channel', 'address': {u'bus': u'0', u'controller': u'0', u'type': u'virtio-serial', u'port': u'1'}}, {'device': u'unix', 'alias': u'channel1', 'type': u'channel', 'address': {u'bus': u'0', u'controller': u'0', u'type': u'virtio-serial', u'port': u'2'}}, {'device': u'spicevmc', 'alias': u'channel2', 'type': u'channel', 'address': {u'bus': u'0', u'controller': u'0', u'type': u'virtio-serial', u'port': u'3'}}, {'device': '', 'alias': u'video0', 'type': u'video', 'address': {u'slot': u'0x02', u'bus': u'0x00', u'domain': u'0x0000', u'type': u'pci', u'function': u'0x0'}}]

Comment 5 Raul Laansoo 2013-03-31 16:12:08 UTC
Created attachment 729963 [details]
vmCreate command log

The virtual machines and template used to create them were created using vdsm-4.10.3-0.31.20.el6.x86_64 from http://www.dreyou.org/ovirt/vdsm32/.

Comment 6 Dan Kenigsberg 2013-04-02 07:00:19 UTC
Indeed, Engine sends no video device in the devices list. Omer, any idea why?

Thread-187::DEBUG::2013-03-27 11:38:04,074::BindingXMLRPC::913::vds::(wrapper) client [192.168.65.16]::call vmCreate with ({'custom': 'OMITTED', 'keyboardLayout': 'en-us', 'kvmEnable': 'true', 'pitReinjection': 'false', 'acpiEnable': 'true', 'emulatedMachine': 'pc', 'cpuType': 'Opteron_G2', 'vmId': 'bd64c535-76da-46c4-940e-f2d57adbfa9a', 'devices': [{'index': '2', 'iface': 'ide', 'address': {' controller': '0', ' target': '0', 'unit': '0', ' bus': '1', ' type': 'drive'}, 'specParams': {'path': ''}, 'readonly': 'true', 'deviceId': 'd036c31a-6bb5-454f-be8f-53c641a48fbe', 'path': '', 'device': 'cdrom', 'shared': 'false', 'type': 'disk'}, {'index': 0, 'iface': 'virtio', 'format': 'cow', 'bootOrder': '1', 'poolID': '0d105f5d-4c71-4c12-99d9-824930b3bea4', 'volumeID': '42c0b479-114b-4d3d-9bca-319c025ac690', 'imageID': '6d7040b8-9192-4b04-ad4a-04c4981bd24d', 'specParams': {}, 'readonly': 'false', 'domainID': '69e8c376-00bc-4a4a-abf6-de38bc91c00a', 'optional': 'false', 'deviceId': '6d7040b8-9192-4b04-ad4a-04c4981bd24d', 'address': {'bus': '0x00', ' slot': '0x05', ' domain': '0x0000', ' type': 'pci', ' function': '0x0'}, 'device': 'disk', 'shared': 'false', 'propagateErrors': 'off', 'type': 'disk'}, {'nicModel': 'pv', 'macAddr': '00:1a:4a:a8:46:ed', 'linkActive': 'true', 'network': 'ovirtmgmt', 'filter': 'vdsm-no-mac-spoofing', 'specParams': {}, 'deviceId': 'c6857f0a-2173-4ae3-9d2c-443464482d0a', 'address': {'bus': '0x00', ' slot': '0x03', ' domain': '0x0000', ' type': 'pci', ' function': '0x0'}, 'device': 'bridge', 'type': 'interface'}], 'smp': '1', 'vmType': 'kvm', 'timeOffset': '43169', 'memSize': 512, 'spiceSslCipherSuite': 'DEFAULT', 'smpCoresPerSocket': '1', 'spiceSecureChannels': 'smain,sinputs,scursor,splayback,srecord,sdisplay,susbredir,ssmartcard', 'smartcardEnable': 'false', 'vmName': 'client', 'display': 'qxl', 'transparentHugePages': 'true', 'nice': '0'},) {}

Comment 7 Omer Frenkel 2013-04-04 08:13:28 UTC
well no idea, but display is sent, and if there was a video device in the db it would have been sent as well, any chance for engine log?
how reproducible is this? any time? any vm?

Comment 8 Raul Laansoo 2013-04-04 12:39:34 UTC
Created attachment 731579 [details]
ovirt negine log

At the end of this log is the failed suspend/resume cycle. I can repeat this with every Linux VM I have created so far. There is also problem resuming Windows guests, but this results in lzop(?) running 100%.

Comment 9 Itamar Heim 2013-04-04 12:41:33 UTC
hmmm, i thought in suspend/resume vdsm ignores what the engine sent and resumes based on last saved vm info?

Comment 10 Dan Kenigsberg 2013-04-04 12:49:18 UTC
(In reply to comment #9)
> hmmm, i thought in suspend/resume vdsm ignores what the engine sent and
> resumes based on last saved vm info?

It does - and this is why I drilled through Raul's logs a posted these faulty initial params in comment 6.

Comment 11 Michal Skrivanek 2013-04-29 15:06:09 UTC
try to disable the compression,  i.e. not use save_image_format = lzop

Comment 12 Raul Laansoo 2013-06-11 14:57:49 UTC
Hi. I have made a clean install of engine from el6-ovirt-stable repo and restored configuration, pki and database from backups. Also updated node with packages from el6-ovirt-stable. Now the the suspending/resuming of Linux and Windows guests does work.

Comment 13 Itamar Heim 2013-06-11 19:21:39 UTC
great, closing based on comment 12