Description of problem: Bug 1373223 was resolved by implementing a USB controller selection via osinfo. One of the parts that is missing to fully utilize this functionality in future is machine type awareness - that is, q35 requires different controller than i440fx in some cases (e.g. we default to piix3-uhci on both machine types while q35 should use nec-xhci).
My idea of the feature is similar to how q35 cdrom is implemented: os.other.devices.cdInterface.value = ide,q35/sata Expected format of USB in osinfo: os.other.devices.usb.controller.value = piix3-uhci,q35/nec-xhci
What is the expected behaviour when using i440fx or Q35 custom emulated machine? Currently I see the same controllers for i440fx or Q35: RHEL 7.6 VM with Q35: <controller type='usb' index='0' model='ich9-ehci1'> <alias name='usb'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x1d' function='0x7'/> </controller> <controller type='usb' index='0' model='ich9-uhci3'> <alias name='usb'/> <master startport='4'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x1d' function='0x2'/> </controller> <controller type='usb' index='0' model='ich9-uhci1'> <alias name='usb'/> <master startport='0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x1d' function='0x0' multifunction='on'/> </controller> <controller type='usb' index='0' model='ich9-uhci2'> <alias name='usb'/> <master startport='2'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x1d' function='0x1'/> </controller> RHEL 7.6 VM with i440fx: <controller type='usb' index='0' model='ich9-ehci1'> <alias name='usb'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x7'/> </controller> <controller type='usb' index='0' model='ich9-uhci3'> <alias name='usb'/> <master startport='4'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x2'/> </controller> <controller type='usb' index='0' model='ich9-uhci1'> <alias name='usb'/> <master startport='0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0' multifunction='on'/> </controller> <controller type='usb' index='0' model='ich9-uhci2'> <alias name='usb'/> <master startport='2'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x1'/> </controller>
you're right. It should be fixed now by https://gerrit.ovirt.org/#/c/96611/ and you should see 1 XHCI now instead
Verification version: ovirt-engine-4.3.0.5-0.0.master.20190207124642.git415c7e8.el7 vdsm-4.30.8-58.git60c5a6d.el7.x86_64 qemu-kvm-ev-2.12.0-18.el7_6.3.1.x86_64 libvirt-client-4.5.0-10.el7_6.4.x86_64 Polarion test case added to external trackers.
This bugzilla is included in oVirt 4.3.0 release, published on February 4th 2019. Since the problem described in this bug report should be resolved in oVirt 4.3.0 release, it has been closed with a resolution of CURRENT RELEASE. If the solution does not work for you, please open a new bug report.