As folks know, we've been working on scaling up OVN coupled with openstack and we are now starting to hit issues in the networking-ovn to NB DBconnection.
First, this code from ./ovsdb/execution.c (L693-707) looks a bit funny: if (!strcmp(json_string(until), "==") != equal) { if (timeout && x->elapsed_msec >= timeout_msec) { if (x->elapsed_msec) { error = ovsdb_error("timed out", "\"wait\" timed out after %lld ms", x->elapsed_msec); } else { error = ovsdb_error("timed out", "\"wait\" timed out"); } } else { /* ovsdb_execute() will change this, if triggers really are * supported. */ error = ovsdb_error("not supported", "triggers not supported"); } } Specifically, returning a message for "timed out" when a timeout of 0 seconds has been specified and the conditional has not matched is misleading at best. I think it would make more sense to say "wait condition not met" or something like that. The second issue is a bit more serious. Right now, before the networking-ovn IDL will add a new logical switch port and associated ACLs (and if my memory serves me, it creates seven for each port), there are a pair of wait clauses that have to be met. The first of these is that the ports and ACLs for the Logical Switch have to have a particular list of UUIDs in each, and each entire list is sent in the transaction. Is this strictly necessary? I ask because I'm looking at scaling to a point where the wait condition will have 8000 uuids for the logical switch ports part and 56000 uuids for the ACLs part and I haven't yet figured out why it is needed... Ryan (planning on bringing this up at the Thursday IRC meeting) _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev