This is a multi-part message in MIME format.
--------------030608010700020902060206
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
12.11.15 21:29, Alexandr Krivulya пишет:
Hello,
after upgrade to 3.6 virtual machine with hostusb vdsm hook attached
cannot be started:
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
Traceback (most recent call last):
File "/usr/share/vdsm/virt/vm.py", line 695, in _startUnderlyingVm
self._run()
File "/usr/share/vdsm/virt/vm.py", line 1876, in _run
self._domDependentInit()
File "/usr/share/vdsm/virt/vm.py", line 1733, in _domDependentInit
self._getUnderlyingVmDevicesInfo()
File "/usr/share/vdsm/virt/vm.py", line 1682, in
_getUnderlyingVmDevicesInfo
self._getUnderlyingHostDeviceInfo()
File "/usr/share/vdsm/virt/vm.py", line 4106, in
_getUnderlyingHostDeviceInfo
if device_type == 'usb':
File "/usr/share/vdsm/virt/vm.py", line 4092, in
_getUnderlyingHostDeviceUSBInfo
for dev in self.conf['devices']:
UnboundLocalError: local variable 'device' referenced before assignment
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)
Corresponding xml entry present in vm start config:
<hostdev mode="subsystem"
type="usb"><source><vendor
id="0x14a8"/><product
id="0x0001"/></source></hostdev></devices>
Dirty hack solves issue (I'm far away from python):
--- vm.py.orig 2015-11-13 14:14:37.152170286 +0200
+++ vm.py 2015-11-13 14:13:47.387855814 +0200
@@ -4103,7 +4103,7 @@
for x in self._domain.get_device_elements('hostdev'):
device_type = x.getAttribute('type')
if device_type == 'usb':
- self._getUnderlyingHostDeviceUSBInfo(x)
+# self._getUnderlyingHostDeviceUSBInfo(x)
continue
alias =
x.getElementsByTagName('alias')[0].getAttribute('name')
address = self._getUnderlyingDeviceAddress(x)
--------------030608010700020902060206
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 8bit
<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>
--------------030608010700020902060206--