On Wed, Aug 03, 2016 at 11:58:52AM -0400, Russell Bryant wrote:
> On Wed, Aug 3, 2016 at 11:39 AM, Kyle Mestery <mest...@mestery.com> wrote:
> 
> > On Wed, Aug 3, 2016 at 10:30 AM, Ryan Moats <rmo...@us.ibm.com> wrote:
> > >
> > > Russell Bryant <russ...@ovn.org> wrote on 08/03/2016 10:11:57 AM:
> > >
> > >> From: Russell Bryant <russ...@ovn.org>
> > >> To: Ryan Moats/Omaha/IBM@IBMUS
> > >> Cc: Ben Pfaff <b...@ovn.org>, ovs-dev <dev@openvswitch.org>
> > >> Date: 08/03/2016 10:12 AM
> > >> Subject: Re: [ovs-dev] Let's talk the NB DB IDL Part I - things
> > >> we've see scaling the networking-ovn to NB DB connection
> > >>
> > >> On Wed, Aug 3, 2016 at 9:28 AM, Ryan Moats <rmo...@us.ibm.com> wrote:
> > >>
> > >>
> > >> Ben Pfaff <b...@ovn.org> wrote on 08/03/2016 12:27:48 AM:
> > >>
> > >> > From: Ben Pfaff <b...@ovn.org>
> > >> > To: Ryan Moats/Omaha/IBM@IBMUS
> > >> > Cc: ovs-dev <dev@openvswitch.org>
> > >> > Date: 08/03/2016 12:28 AM
> > >> > Subject: Re: [ovs-dev] Let's talk the NB DB IDL Part I - things
> > >> > we've see scaling the networking-ovn to NB DB connection
> > >> >
> > >> > On Wed, Aug 03, 2016 at 12:06:47AM -0500, Ryan Moats wrote:
> > >> > > Ben Pfaff <b...@ovn.org> wrote on 08/02/2016 11:52:23 PM:
> > >> > >
> > >> > > > From: Ben Pfaff <b...@ovn.org>
> > >> > > > To: Ryan Moats/Omaha/IBM@IBMUS
> > >> > > > Cc: ovs-dev <dev@openvswitch.org>
> > >> > > > Date: 08/02/2016 11:52 PM
> > >> > > > Subject: Re: [ovs-dev] Let's talk the NB DB IDL Part I - things
> > >> > > > we've see scaling the networking-ovn to NB DB connection
> > >> > > >
> > >> > > > On Tue, Aug 02, 2016 at 11:45:07PM -0500, Ryan Moats wrote:
> > >> > > > > "dev" <dev-boun...@openvswitch.org> wrote on 08/02/2016
> > 10:56:07
> > >> PM:
> > >> > > > > > Ben Pfaff <b...@ovn.org> wrote on 08/02/2016 10:14:46 PM:
> > >> > > > > > > Presumably this means that networking-ovn is calling
> > "verify"
> > >> on
> > >> > > the
> > >> > > > > > > column in question.  Probably, networking-ovn should use the
> > >> > > partial
> > >> > > > > map
> > >> > > > > > > update functionality introduced in commit f199df26e8e28
> > >> "ovsdb-idl:
> > >> > > Add
> > >> > > > > > > partial map updates functionality."  I don't know whether
> > > it's
> > >> in
> > >> > > the
> > >> > > > > > > Python IDL yet.
> > >> > > > > >
> > >> > > > > > Indeed they are and thanks for the pointer to the commit -
> > I'll
> > >> dig
> > >> > > > > > into it tomorrow and see if that code is reflected in the
> > > Python
> > >> > > > > > IDL via that or another commit.  If it is, great.  If not,
> > > there
> > >> > > > > > will likely also be a patch adding it so that we can move
> > > along.
> > >> > > > >
> > >> > > > > Hmm, maybe I'm misreading something, but I don't thing that's
> > > going
> > >> > > > > to work without some additional modifications - the partial map
> > >> commit
> > >> > > > > currently codes for columns that have a particular value type
> > >> defined
> > >> > > > > by the schema.  The problem we are seeing is with the ports and
> > >> acls
> > >> > > > > columns of the logical switch table, which are lists of strong
> > >> > > > > references.  Since they don't have a defined value, the
> > generated
> > >> IDL
> > >> > > > > code doesn't provide hooks for using partial map operations and
> > > we
> > >> > > default
> > >> > > > > back to update/verify with the given above results.
> > >> > > > >
> > >> > > > > Now, I think this an oversight, because I can argue that since
> > >> these
> > >> > > > > are strong references, I should be able to use partial maps to
> > >> update
> > >> > > > > them as keys with a null value.  Does this make sense or am I
> > >> breaking
> > >> > > > > something if I look at going this route?
> > >> > > >
> > >> > > > If they're implemented as partial map operations only, then we
> > > should
> > >> > > > extend them to support partial set operations too--the same
> > >> principles
> > >> > > > apply.
> > >> > >
> > >> > > I'm not sure I parsed this correctly, but I think we are saying the
> > >> same
> > >> > > thing: change the IDL for columns that contain sets of strong
> > >> references
> > >> > > from using update/verify to using mutate for partial set operations
> > > (I
> > >> > > realized after hitting the send button that I should have said
> > > partial
> > >> > > sets instead of partial maps...)
> > >> >
> > >> > Yes, I think we're saying the same thing.
> > >> >
> > >
> > >> Cool, I'll see how far I can get (not sure where my previous message
> > > saying
> > >> this went...)
> > >>
> > >> From the perspective of the branch point, we'd really like to see the
> > >> following make the 2.6 release to allow for easier integration with
> > >> upstream
> > >> OpenStack testing:
> > >>
> > >> - partial sets for the C IDL
> > >> - partial maps for the Python IDL
> > >> - partial sets for the Python IDL
> > >>
> > >> In fact, I'd sorta like to see them all backported to 2.5, but I doubt
> > >> that's
> > >> possible.
> > >>
> > >> (...off to craft patch sets...)
> > >>
> > >> but based on:
> > >>
> > >> http://openvswitch.org/pipermail/dev/2016-July/076855.html
> > >>
> > >> it seems too late to try to get new things like this in for 2.6.
> > >
> > > I realize that I'm asking for an exception - at the time I wrote that
> > > we didn't realize how much of an issue using verify/update semantics was
> > > going to be when scaling (mea culpa).
> > >
> > > If the exception isn't granted, so be it - we'll carry it locally until
> > > the 2.6.90 branch opens...
> > >
> >
> > I'll jump in here and say that this issue has become a huge scaling
> > issue for us internally, and anyone else who wants to scale OVN. I'd
> > also like to request a feature exception for this. I realize we have a
> > similar issue to fight on the OpenStack side, but without these
> > changes, we'll be severely limiting the scalability of OVN. And this
> > is even without OpenStack, as Ryan and I suspect this issue is the
> > cause of the "8k ports on 400 chassis is really slow as it grows" test
> > with ovn-scale-test.
> 
> 
> OK.  I suppose we can't really discuss an exception until the code is
> ready, anyway.

Yes, let's see the code...
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to