[ovs-dev] Let's talk the NB DB IDL Part I - things we've see scaling the networking-ovn to NB DB connection

Ben Pfaff blp at ovn.org
Wed Aug 3 05:27:48 UTC 2016


On Wed, Aug 03, 2016 at 12:06:47AM -0500, Ryan Moats wrote:
> Ben Pfaff <blp at ovn.org> wrote on 08/02/2016 11:52:23 PM:
> 
> > From: Ben Pfaff <blp at ovn.org>
> > To: Ryan Moats/Omaha/IBM at IBMUS
> > Cc: ovs-dev <dev at 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-bounces at openvswitch.org> wrote on 08/02/2016 10:56:07 PM:
> > > > Ben Pfaff <blp at 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.



More information about the dev mailing list