[ovirt-users] hostusb with ovirt3.6

Michal Skrivanek michal.skrivanek at redhat.com
Fri Nov 13 08:52:25 EST 2015


> On 13 Nov 2015, at 14:06, Alexandr Krivulya <shuriku at shurik.kiev.ua> wrote:
> 
> 13.11.15 14:29, Michal Skrivanek пишет:
>>> On 13 Nov 2015, at 13:21, Alexandr Krivulya <shuriku at shurik.kiev.ua> wrote:
>>> 
>>> 12.11.15 21:29, Alexandr Krivulya пишет:
>>>> Hello,
>>>> after upgrade to 3.6 virtual machine with hostusb vdsm hook attached cannot be started:
>> there shouldn’t be a reason for a hook in 3.6, there’s a full support for usb passthrough in UI.
>> though it shouldn’t break just by upgrade to 3.6…Martin?
> 
> There is an old platform - no support for device passthrough. See my
> previous post:

that’s unrelated…(plus be careful as you’re not supposed to touch the db manually, you can easily end up with a non-working setup)

Your issues might come from your previous usage of that hook. I would suggest to try to replace it completely with proper 3.6 implementation (remove hook, create a new vm, define passthorugh in UI)
that said…i guess there is a shortcoming regarding usb passthrough - we mistakenly assume PCI passthrough requiring VT-d and support in kernel…but that shouldn’t be needed for USB

adding the other Martin to check:)

in the meantime you can set it up for PCI passthrough (enable VT-d, enable iommu remapping in kernel, follow the ovirt passthrough doc), that should get you over that extra filter check you reported earlier

thanks,
michal

> 
> http://lists.ovirt.org/pipermail/users/2015-November/035881.html
>> 
>>>> 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)
>>> 
>>> _______________________________________________
>>> Users mailing list
>>> Users at ovirt.org
>>> http://lists.ovirt.org/mailman/listinfo/users
> 
> _______________________________________________
> Users mailing list
> Users at ovirt.org
> http://lists.ovirt.org/mailman/listinfo/users
> 
> 



More information about the Users mailing list