
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--