[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 04:52:23 UTC 2016


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.



More information about the dev mailing list