Take a loot at the contractor of IDL: ... def __init__(self, remote, schema): ...
You can see that it gets schema as a parameter, which is actually SchemaHelper object: ... assert isinstance(schema, SchemaHelper) ... This object holds the schema in a json string (schema_json) until you will call its register_columns function which will build the tables. You can see that the IDL, when first built, is getting the schema which means that the OVSDB server was already connected beforehand to get it. If you should like to know how this is done, you can look at Neutron's idlutils.py file and check the get_schema_helper() function. You can see that it gets the schema name as a parameter, connects to the OVSDB, get the schema, close the connection and return SchemaHelper object to be used for the above. Note that after this patch will be committed, I'm going to send a patch to Neutron to add another function similar to get_schema_helper() with the the deference that it will get stream (open connection to the OVSDB server) as a parameter and get the schema from the server without closing it when done. Ofer. בתאריך שבת, 27 בפבר׳ 2016 ב-3:13 מאת Ben Pfaff <b...@ovn.org>: > On Wed, Feb 24, 2016 at 08:39:02AM +0000, Ofer Ben-Yacov wrote: > > The current implementation IDL is: > > 1. connects to the OVSDB > > 2. get the schema and > > 3. disconnect > > 4. connect again to work with the OVSDB server. > > I don't understand--where do you see that behavior? I can't spot it > anywhere. The code I see in python/ovs/db/idl.py doesn't seem to do > anything like it. > _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev