<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<div class="moz-cite-prefix">12.11.15 21:29, Alexandr Krivulya
пишет:<br>
</div>
<blockquote cite="mid:5644E899.20703@shurik.kiev.ua" type="cite">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
Hello,<br>
after upgrade to 3.6 virtual machine with hostusb vdsm hook
attached cannot be started:<br>
<br>
<tt><small><big>Thread-2194::ERROR::2015-11-12
21:21:16,527::vm::751::virt.vm::(_startUnderlyingVm)
vmId=`ec7cde24-ac17-453c-a0d3-1873993b80e1`::The vm start
process failed<br>
Traceback (most recent call last):<br>
File "/usr/share/vdsm/virt/vm.py", line 695, in
_startUnderlyingVm<br>
self._run()<br>
File "/usr/share/vdsm/virt/vm.py", line 1876, in _run<br>
self._domDependentInit()<br>
File "/usr/share/vdsm/virt/vm.py", line 1733, in
_domDependentInit<br>
self._getUnderlyingVmDevicesInfo()<br>
File "/usr/share/vdsm/virt/vm.py", line 1682, in
_getUnderlyingVmDevicesInfo<br>
self._getUnderlyingHostDeviceInfo()<br>
File "/usr/share/vdsm/virt/vm.py", line 4106, in
_getUnderlyingHostDeviceInfo<br>
if device_type == 'usb':<br>
File "/usr/share/vdsm/virt/vm.py", line 4092, in
_getUnderlyingHostDeviceUSBInfo<br>
for dev in self.conf['devices']:<br>
UnboundLocalError: local variable 'device' referenced before
assignment<br>
Thread-2194::INFO::2015-11-12
21:21:16,546::vm::1278::virt.vm::(setDownStatus)
vmId=`ec7cde24-ac17-453c-a0d3-1873993b80e1`::Changed state
to Down: local variable 'device' referenced before
assignment (code=1)</big><br>
</small></tt><br>
Corresponding xml entry present in vm start config:<br>
<br>
<small> <hostdev mode="subsystem"
type="usb"><source><vendor
id="0x14a8"/><product
id="0x0001"/></source></hostdev></devices></small><br>
<br>
<br>
</blockquote>
<br>
Dirty hack solves issue (I'm far away from python):<br>
<br>
<tt>--- vm.py.orig 2015-11-13 14:14:37.152170286 +0200</tt><tt><br>
</tt><tt>+++ vm.py 2015-11-13 14:13:47.387855814 +0200</tt><tt><br>
</tt><tt>@@ -4103,7 +4103,7 @@</tt><tt><br>
</tt><tt> for x in
self._domain.get_device_elements('hostdev'):</tt><tt><br>
</tt><tt> device_type = x.getAttribute('type')</tt><tt><br>
</tt><tt> if device_type == 'usb':</tt><tt><br>
</tt><tt>- self._getUnderlyingHostDeviceUSBInfo(x)</tt><tt><br>
</tt><tt>+# self._getUnderlyingHostDeviceUSBInfo(x)</tt><tt><br>
</tt><tt> continue</tt><tt><br>
</tt><tt> alias =
x.getElementsByTagName('alias')[0].getAttribute('name')</tt><tt><br>
</tt><tt> address = self._getUnderlyingDeviceAddress(x)<br>
<br>
</tt>
</body>
</html>