Earlier  
Posted Nick Remark
#openstack-nova - 2018-08-23
12:16:06 mriedem i guess in this case the net_type was 'direct'?
12:16:11 mriedem so L120
12:17:17 sahid mriedem: are you sure vfio is a valid driver?
12:17:22 sahid moshele:
12:17:55 ykarel jroll, hi
12:17:56 moshele shaid: https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/virtualization_deployment_and_administration_guide/sect-pci_devices-pci_passthrough
12:18:19 moshele sahid: https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/virtualization_deployment_and_administration_guide/sect-pci_devices-pci_passthrough
12:19:12 openstack Launchpad bug 1787910 in tripleo "OVB overcloud deploy fails on nova placement errors" [Critical,Triaged] - Assigned to Marios Andreou (marios-b)
12:19:12 ykarel jroll, can u check https://bugs.launchpad.net/tripleo/+bug/1787910/comments/13
12:19:16 sahid ok thanks, because i remeber of a bug in libvirt for vhostuser interface interface, when you basically set it to vhostuser (which is the driver used) libvirt is reaisng an error
12:19:18 moshele mriedem: no the net_type 'direct' is for macvtap port for port direct which is hostdev we don't set the driver name
12:20:04 mriedem moshele: yeah i figured it out,
12:20:09 mriedem the comment is busted in the code,
12:20:13 mriedem i left a comment about fixing it :)
12:21:16 moshele mriedem: the problem is with this https://github.com/openstack/nova/blob/34956bea4beb8e5ba474b42ba777eb88a5eadd76/nova/virt/libvirt/vif.py#L166-L176
12:21:40 moshele mriedem: driver is not specified it put vhost
12:21:45 openstack Launchpad bug 1787910 in tripleo "OVB overcloud deploy fails on nova placement errors" [Critical,Triaged] - Assigned to Marios Andreou (marios-b)
12:21:45 ykarel mriedem, or u can check https://bugs.launchpad.net/tripleo/+bug/1787910/comments/13
12:22:24 mriedem aha
12:22:26 mriedem moshele: ok
12:23:04 moshele mriedem: I send the mail because I am not sure about the fix. I know that my fix solve direct port
12:23:57 mriedem i'd ask jangutter but he's not around
12:24:23 sahid moshele: perhaps it's better to use None, lbvirt might have some kind of fallback, example using vfio but if available on host fallback to uio
12:24:24 mriedem moshele: vnic_type = 'direct' right?
12:24:31 zigo Hi there !
12:24:45 zigo Any idea why I'm getting this when building the Nova Debian package? https://stretch-rocky.infomaniak.ch/job/nova/9/console
12:24:50 zigo (see the end of unit test run...)
12:25:03 sahid it's what is done for vhost, norammy by default, libvirt use vhost but fallback to qemu if vhost module is not loaded on host
12:25:06 moshele mriedem: yes
12:25:06 mriedem zigo: you'll need to put that in a paste
12:25:09 mriedem or give out creds
12:25:30 zigo Sure.
12:25:55 zigo mriedem: http://paste.openstack.org/show/728679/
12:26:50 zigo From where is comming the MIMEAccept object? Is that nova's internal?
12:27:01 zigo A grep in nova shows nothing ...
12:27:03 moshele sahid: but this port will set driver name to vhost if it None https://github.com/openstack/nova/blob/34956bea4beb8e5ba474b42ba777eb88a5eadd76/nova/virt/libvirt/vif.py#L166-L176
12:27:17 mriedem ykarel: i'll let jroll look at that b/c https://review.openstack.org/#/c/565841 was master only atm which is stein, and today is rocky rc3 so i'm focused on what we need to get done for rc3
12:27:21 moshele sahid: s/port/part
12:27:36 ykarel mriedem, no prob, Thanks
12:27:47 ykarel rocky is more priority now
12:28:00 mriedem zigo: i'd guess the wsgi-intercept library
12:28:02 mriedem cdent: ^
12:28:05 mriedem http://paste.openstack.org/show/728679/
12:29:14 mriedem well best_matches = req.accept.acceptable_offers(types) is clearly in placement code
12:29:21 cdent zigo, looks webob
12:29:30 mriedem yeah
12:29:30 sahid moshele: hum... it's complicated, because if you set it to None, the LibvirtConfig will not generate the tx/rx args
12:29:42 cdent acceptable_offer is new in webob 1.8.x I think
12:30:02 mriedem sahid: but it looks like we default to vhost if rx/tx is configured https://github.com/openstack/nova/blob/34956bea4beb8e5ba474b42ba777eb88a5eadd76/nova/virt/libvirt/vif.py#L166-L176
12:30:10 mriedem so driver_name will always be at least vhost?
12:30:25 mriedem which doesn't work for net_type == 'hostdev'?
12:30:42 cdent zigo: my guess is that the webob is not up to date with minimum requirements?
12:30:53 zigo cdent: Yeah, that should be it, thanks!
12:31:05 mriedem https://github.com/openstack/nova/blob/master/lower-constraints.txt#L170 fwiw
12:31:08 mriedem 1.8.2
12:31:09 zigo Debian version is 1:1.7.3-2
12:31:11 cdent zigo: I'm glad it was that easy :)
12:31:12 zigo Thanks guys.
12:31:14 zigo Will update it.
12:31:22 sahid yes yes, it's just i don't think we should specically set it to vfio, i think we should not set it at all for hostdev
12:31:40 sahid but if we do that tx/rx are then ignored
12:31:54 jroll mriedem: ykarel: I'm looking at this, I'm confused what is special about tripleo jobs here, as this works fine in our ironic jobs
12:32:08 sahid https://github.com/openstack/nova/blob/34956bea4beb8e5ba474b42ba777eb88a5eadd76/nova/virt/libvirt/config.py#L1390
12:32:17 jroll oh wait, it's probably the flavors
12:32:24 mriedem sahid: yup
12:33:13 mriedem but if rx is configured,
12:33:15 mriedem and driver is None,
12:33:20 mriedem we hard-code to vhost
12:33:21 mriedem https://github.com/openstack/nova/blob/34956bea4beb8e5ba474b42ba777eb88a5eadd76/nova/virt/libvirt/vif.py#L169
12:33:39 mriedem : libvirtError: unsupported configuration: Unknown PCI device <driver name='vhost'/> has been specified
12:33:39 mriedem but apparently that doesn't work
12:33:45 mriedem http://paste.openstack.org/show/728666/
12:34:14 sahid can't we do something like that? https://github.com/openstack/nova/blob/34956bea4beb8e5ba474b42ba777eb88a5eadd76/nova/virt/libvirt/vif.py#L432
12:34:53 mriedem heh, that TODO is overwriting the thing done in get_base_config which is based on another TODO
12:35:28 mriedem and here https://github.com/openstack/nova/blob/34956bea4beb8e5ba474b42ba777eb88a5eadd76/nova/virt/libvirt/vif.py#L519
12:35:42 moshele sahid.mriedem : we can skip it for vnic_type direct in https://github.com/openstack/nova/blob/34956bea4beb8e5ba474b42ba777eb88a5eadd76/nova/virt/libvirt/vif.py#L166-L176
12:35:48 mriedem sahid: which vnic_type did you test the rx queue stuff with?
12:36:04 jroll ykarel: posted a comment on the bug
12:36:07 moshele sahid, mriedem ^
12:36:13 ykarel jroll, checking
12:36:27 mriedem moshele: but what about the other sriov types? https://github.com/openstack/nova/blob/34956bea4beb8e5ba474b42ba777eb88a5eadd76/nova/network/model.py#L111
12:36:35 sahid get_config_vhostuser and _set_config_VIFHostUser are the same thing, one is native Nova the other for os-vif
12:36:45 mriedem i know
12:37:01 sahid ah sorry i did not have undersdoot the qustion so
12:37:11 mriedem so are direct and macvtap the only supported vnic types for rx/tx queues?
12:37:29 moshele mriedem: they are got beacuse the macvtap is also virtio and also the virtio forwarder
12:37:40 moshele mriedem: s/got/good
12:37:46 sahid all vnic that are using virtio
12:37:56 sahid can have rc/tx queues
12:38:12 moshele sahid: SR-IOV passthrough is not virtio
12:38:25 moshele sahid: meaning vnic_type direct
12:38:39 sahid yes, but you are talking about SRIOV+mactap right?
12:38:39 mriedem alright, i'm clearly in over my head here in the nfv waters. my main concern is today is rc3 and it doesn't sound like we know what the correct solution is. so i'm wondering if we should just release note a known limitation and put something in the rx/tx config option help saying it's only supported by one specifiv vnic_type for now based on the one we know that works
12:38:42 moshele sahid: also direct_physocal should work
12:38:56 mriedem i would rather release rocky stating *what we know works*
12:39:03 mriedem not what *should* or *might* work
12:39:12 moshele sahid: not it breack SR-IOV passthoght
12:39:33 moshele mriedem: agree we need more time on this to find a good solution
12:39:38 sahid yes
12:40:26 mriedem so what do we know works? vnic_type='macvtap'?

Earlier   Later