[openstack-dev] Ocata - Ubuntu 16.04 - OVN does not work with DPDK

Martinx - ジェームズ thiagocmartinsc at gmail.com
Tue Apr 11 20:20:39 UTC 2017


On 11 April 2017 at 11:08, Russell Bryant <rbryant at redhat.com> wrote:

>
>
> On Mon, Apr 10, 2017 at 4:49 PM, Martinx - ジェームズ <
> thiagocmartinsc at gmail.com> wrote:
>
>>
>>
>> On 8 April 2017 at 00:37, Martinx - ジェームズ <thiagocmartinsc at gmail.com>
>> wrote:
>>
>>> Guys,
>>>
>>>  I manage to deploy Ocata on Ubuntu 16.04 with OVN for the first time
>>> ever, today!
>>>
>>>  It looks very, very good... OVN L3 Router is working, OVN DHCP
>>> working... bridge mappings "br-ex" on each compute node... All good!
>>>
>>>  Then, I've said: time for DPDK!
>>>
>>>  I manage to use OVS with DPDK easily on top of Ubuntu (plus Ocata Cloud
>>> Archive) with plain KVM, no OpenStack, so, I have experience about how to
>>> setup DPDK, OVS+DPDK, Libvirt vhostuser, KVM and etc...
>>>
>>>  After configuring DPDK on a compute node, I tried the following
>>> instructions:
>>>
>>>  https://docs.openstack.org/developer/networking-ovn/dpdk.html
>>>
>>>  It looks quite simple!
>>>
>>>  To make things even simpler, I have just 1 controller, and 1 compute
>>> node, to begin with, before enabling DPDK at the compute node and changing
>>> the "br-int" datapath, I deleted all OVN Routers and all Neutron Networks
>>> and Subnets, that was previously working with regular OVS (no DPDK).
>>>
>>>  Then, after enabling DPDK and updating the "br-int" and the "br-ex"
>>> interfaces, right after connecting the "OVN L3 Router" into the "ext-net /
>>> br-ex" network, the following errors appeared on OpenvSwitch logs of the
>>> related compute node (OpenFlow error):
>>>
>>>
>>>  * After connecting OVN L3 Router against the "ext-net / br-ex" Flat /
>>> VLAN Network:
>>>
>>>  ovs-vswitchd.log:
>>>
>>>  http://paste.openstack.org/show/605800/
>>>
>>>  ovn-controller.log:
>>>
>>>  http://paste.openstack.org/show/605801/
>>>
>>>
>>>  Also, after connecting the OVN L3 Router into the local (GENEVE)
>>> network, very similar error messages appeared on OpenvSwitch logs...
>>>
>>>
>>>  * After connecting OVN L3 Router on a "local" GENEVE Network:
>>>
>>>  ovs-vswitchd.log:
>>>
>>>  http://paste.openstack.org/show/605804/
>>>
>>>  ovn-controller.log:
>>>
>>>  http://paste.openstack.org/show/605805/
>>>
>>>
>>>  * Output of "ovs-vsctl show" at the single compute node, after plugging
>>> the OVN L3 Router against the two networks (external / GENEVE):
>>>
>>>  http://paste.openstack.org/show/605806/
>>>
>>>
>>>  Then, I tried to launch an Instance anyway and, for my surprise, the
>>> Instance was created! Using vhostuser OVS+DPDK socket!
>>>
>>>  Also, the Instance got its IP! Which is great!
>>>
>>>  However, the Instance can not ping its OVN L3 Router (its default
>>> gateway), with or without any kind of security groups applied, no deal...
>>> :-(
>>>
>>>  BTW, the Instance did not received the ARP stuff of the OVN L3 Router,
>>> I mean, for the instance, the gateway IP on "arp -an" shows "<incomplete>".
>>>
>>>
>>>  * The ovs-vswitchd.log after launching an Instance on top of
>>> OVN/OVS+DPDK:
>>>
>>>  http://paste.openstack.org/show/605807/
>>>
>>>  * The output of "ovs-vsctl show" after launching the above instance:
>>>
>>>  http://paste.openstack.org/show/605809/ - Line 33 is the dpdkvhostuser
>>>
>>>
>>>  Just to give another try, I started a second Instance, to see if the
>>> Instances can ping each other... Also did not worked, the Instances can not
>>> ping each other.
>>>
>>>
>>>  So, from what I'm seeing, OVN on top of DPDK does not work.
>>>
>>>  Any tips?
>>>
>>>
>>>  NOTE:
>>>
>>>  I tried to enable "hugepages" on my OpenStack's flavor, just in case...
>>> Then, I found another bug, it doesn't even boot the Instance:
>>>
>>>  https://bugs.launchpad.net/cloud-archive/+bug/1680956
>>>
>>>
>>>  For now, I'll deploy Ocata with regular OVN, no DPDK, but, my goal with
>>> this cloud is for high performance networks, so, I need DPDK, and I also
>>> need GENEVE and Provider Networks, everything on top of DPDK.
>>>
>>> ---
>>>  After researching more about this "high perf networks", I found this:
>>>
>>>  * DPDK-like performance in Linux kernel with XDP !
>>>
>>>  http://openvswitch.org/support/ovscon2016/7/0930-pettit.pdf
>>>
>>>  https://www.iovisor.org/technology/xdp
>>>  https://www.iovisor.org/technology/ebpf
>>>
>>>  https://qmonnet.github.io/whirl-offload/2016/09/01/dive-into-bpf/
>>>
>>>  But I have no idea about how to use OpenvSwitch with this thing,
>>> however, if I can achieve DPDK-Like performance, without DPDK, using just
>>> plain Linux, I'm a 100% sure that I'll prefer it!
>>>
>>>  I'm okay to give OpenvSwitch + DPDK another try, even knowing that it
>>> [OVS] STILL have serious problems (https://bugs.launchpad.net/ub
>>> untu/+source/openvswitch/+bug/1577088)...
>>> ---
>>>
>>>  OpenStack on Ubuntu rocks!   :-D
>>>
>>> Thanks!
>>> Thiago
>>>
>>
>> I just realized how cool IO Visor is!
>>
>> Sorry about mixing subjects, let's keep this one clear for OVN on top of
>> DPDK.
>>
>> I found a opened bug on RedHat's Bugzilla, I updated it with the info
>> from this e-mail:
>>
>> https://bugzilla.redhat.com/show_bug.cgi?id=1410565
>>
>> Looks like that, OVN doc say that it is supported on top of any
>> OpenvSwitch Datapath but, it is not the case... Right?
>>
>> I would be happy to be able to use GENEVE on top of regular Linux
>> datapath, and only Provider Networks on top of DPDK but, it also doesn't
>> work. I'll post more details about this later.
>>
>>
> ​The primary limitation here is that the userspace (DPDK) datapath does
> not yet support NAT.  See the datapath feature matrix here:
>
> http://docs.openvswitch.org/en/latest/faq/releases/​
>> ​So, indeed, provider networks only is going to the configuration​ that
> works with DPDK.  You could do Geneve networks + provider networks,
> assuming you set it up so that NAT is not used anywhere.
>
> --
> Russell Bryant
>

That's what I was thinking... Maybe, with Ocata, the new "Routed Provider
Networks" might work very well with OVS+DPKD (still on OVN):

https://docs.openstack.org/ocata/networking-guide/config-routed-networks.html

Thanks for your reply Russel!
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20170411/57016a5d/attachment.html>


More information about the OpenStack-dev mailing list