Bug 1411297 - [RFE] Allow osinfo USB controller selection based on machine type (i440fx/q35)
Summary: [RFE] Allow osinfo USB controller selection based on machine type (i440fx/q35)
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: ovirt-engine
Classification: oVirt
Component: BLL.Virt
Version: future
Hardware: Unspecified
OS: Unspecified
medium
medium
Target Milestone: ovirt-4.3.0
: ---
Assignee: Michal Skrivanek
QA Contact: Nisim Simsolo
URL:
Whiteboard:
Depends On:
Blocks: 1527860
TreeView+ depends on / blocked
 
Reported: 2017-01-09 11:54 UTC by Martin Polednik
Modified: 2019-02-13 07:42 UTC (History)
7 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2019-02-13 07:42:59 UTC
oVirt Team: Virt
Embargoed:
rule-engine: ovirt-4.3+
mavital: testing_plan_complete?
mtessun: planning_ack+
michal.skrivanek: devel_ack+
mavital: testing_ack+


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
oVirt gerrit 88777 0 None MERGED core: USB in osinfo configuration depends on chipset 2020-03-25 10:59:52 UTC

Description Martin Polednik 2017-01-09 11:54:55 UTC
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).

Comment 1 Martin Polednik 2017-01-09 12:24:59 UTC
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

Comment 5 Nisim Simsolo 2019-01-07 12:59:52 UTC
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>

Comment 6 Michal Skrivanek 2019-01-17 14:19:38 UTC
you're right. It should be fixed now by https://gerrit.ovirt.org/#/c/96611/ and you should see 1 XHCI now instead

Comment 7 Nisim Simsolo 2019-02-11 14:59:03 UTC
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.

Comment 8 Sandro Bonazzola 2019-02-13 07:42:59 UTC
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.


Note You need to log in before you can comment on or make changes to this bug.