[openstack-dev] [neutron][networking-ovn][vtep] Proposal: support for vtep-gateway in ovn

Russell Bryant rbryant at redhat.com
Thu Sep 24 18:06:26 UTC 2015


On 09/24/2015 01:25 PM, Armando M. wrote:
> 
> 
> 
> On 24 September 2015 at 09:12, Russell Bryant <rbryant at redhat.com
> <mailto:rbryant at redhat.com>> wrote:
> 
>     On 09/24/2015 10:18 AM, Salvatore Orlando wrote:
>     >     One particular issue is that the project implements the ovsdb protocol
>     >     from scratch.  The ovs project provides a Python library for this.  Both
>     >     Neutron and networking-ovn use it, at least.  From some discussion, I've
>     >     gathered that the ovs Python library lacked one feature that was needed,
>     >     but has since been added because we wanted the same thing in
>     >     networking-ovn.
>     >
>     >
>     > My take here is that we don't need to use the whole implementation of
>     > networking-l2gw, but only the APIs and the DB management layer it exposes.
>     > Networking-l2gw provides a VTEP network gateway solution that, if you
>     > want, will eventually be part of Neutron's "reference" control plane.
>     > OVN provides its implementation; I think it should be possible to
>     > leverage networking-l2gw either by pushing an OVN driver there, or
>     > implementing the same driver in openstack/networking-ovn.
> 
>     From a quick look, it seemed like networking-l2gw was doing 2 things.
> 
>       1) Management of vtep switches themselves
> 
>       2) Management of connectivity between Neutron networks and VTEP
>          gateways
> 
>     I figured the implementation of #1 would be the same whether you were
>     using ML2+OVS, OVN, (or whatever else).  This part is not addressed in
>     OVN.  You point OVN at VTEP gateways, but it's expected you manage the
>     gateway provisioning some other way.
> 
>     It's #2 that has a very different implementation.  For OVN, it's just
>     creating a row in OVN's northbound database.
> 
>     or did I mis-interpret what networking-l2gw is doing?
> 
> 
> No, you did not misinterpret what the objective of the project were
> (which I reinstate here):
> 
> * Provide an API to OpenStack admins to extend neutron logical networks
> into unmanaged pre-existing vlans. Bear in mind that things like address
> collision prevention is left in the hands on the operator. Other aspects
> like L2/L3 interoperability instead should be taken care of, at least
> from an implementation point of view.
> 
> * Provide a pluggable framework for multiple drivers of the API.
> 
> * Provide an PoC implementation on top of the ovsdb vtep schema. This
> can be implemented both in hardware (ToR switches) and software
> (software L2 gateways). 

Thanks for clarifying the project's goals!

>     >     The networking-l2gw route will require some pretty significant work.
>     >     It's still the closest existing effort, so I think we should explore it
>     >     until it's absolutely clear that it *can't* work for what we need.
> 
> 
> We may have fallen short of some/all expectations, but I would like to
> believe than it is nothing that can't be fixed by iterating on,
> especially if active project participation raises.
> 
> I don't think there's a procedural mandate to make OVN abide by the l2gw
> proposed API. As you said, it is not a clear well accepted API, but
> that's only because we live in a brand new world, where people should be
> allowed to experiment and reconcile later as community forces play out.
> 
> That said, should the conclusion that "it (the API) *can't* work for
> what OVN needs" be reached, I would like to understand/document why for
> the sake of all us involved so that lessons will yield from our mistakes.

My gut says we should be able to work together and make it work.  I
expect we'll talk in more detail in the next cycle.  :-)

-- 
Russell Bryant



More information about the OpenStack-dev mailing list