[openstack-dev] Ocata - Ubuntu 16.04 - OVN does not work with DPDK
Russell Bryant
rbryant at redhat.com
Tue Apr 11 15:08:07 UTC 2017
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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20170411/bc2ac826/attachment.html>
More information about the OpenStack-dev
mailing list