The incremental looks fine to me. Ethan
On Wed, Sep 21, 2011 at 10:24, Ben Pfaff <[email protected]> wrote: > On Tue, Sep 20, 2011 at 10:05:21PM -0700, Ethan Jackson wrote: >> Offline we discussed that it might be simpler to just read the schema based >> on >> its path according to the dirs module. > > OK, here's an incremental. It passes the unit tests but I still > haven't tested ovs-xapi-sync or ovs-monitor-ipsec. > > diff --git a/debian/ovs-monitor-ipsec b/debian/ovs-monitor-ipsec > index 4ef2141..15fbd3b 100755 > --- a/debian/ovs-monitor-ipsec > +++ b/debian/ovs-monitor-ipsec > @@ -33,10 +33,10 @@ import socket > import subprocess > import sys > > +import ovs.dirs > from ovs.db import error > from ovs.db import types > import ovs.util > -import ovs.vswitchd.ovsschema > import ovs.daemon > import ovs.db.idl > > @@ -457,7 +457,9 @@ def main(argv): > > remote = args[0] > > - idl = ovs.db.idl.Idl(remote, prune_schema(ovs.vswitchd.ovsschema.copy())) > + schema_file = "%s/vswitch.ovsschema" % ovs.dirs.PKGDATADIR > + schema = > ovs.db.schema.DbSchema.from_json(ovs.json.from_file(schema_file)) > + idl = ovs.db.idl.Idl(remote, prune_schema(schema)) > > ovs.daemon.daemonize() > > diff --git a/tests/ovsdb-idl.at b/tests/ovsdb-idl.at > index d8ab68f..cce6197 100644 > --- a/tests/ovsdb-idl.at > +++ b/tests/ovsdb-idl.at > @@ -41,7 +41,7 @@ m4_define([OVSDB_CHECK_IDL_PY], > AT_CHECK([ovsdb-server '-vPATTERN:console:ovsdb-server|%c|%m' --detach > --pidfile=$PWD/pid --remote=punix:socket --unixctl=$PWD/unixctl db], [0], > [ignore], [ignore]) > m4_if([$2], [], [], > [AT_CHECK([ovsdb-client transact unix:socket $2], [0], [ignore], > [ignore], [kill `cat pid`])]) > - AT_CHECK([$PYTHON $srcdir/test-ovsdb.py -t10 idl unix:socket $3], > + AT_CHECK([$PYTHON $srcdir/test-ovsdb.py -t10 idl > $srcdir/idltest.ovsschema unix:socket $3], > [0], [stdout], [ignore], [kill `cat pid`]) > AT_CHECK([sort stdout | perl $srcdir/uuidfilt.pl]m4_if([$6],,, [[| $6]]), > [0], [$4], [], [kill `cat pid`]) > diff --git a/tests/test-ovsdb.py b/tests/test-ovsdb.py > index f9b0aa6..4b85c71 100644 > --- a/tests/test-ovsdb.py > +++ b/tests/test-ovsdb.py > @@ -302,8 +302,9 @@ def idl_set(idl, commands, step): > sys.stdout.write("\n") > sys.stdout.flush() > > -def do_idl(remote, *commands): > - idl = ovs.db.idl.Idl(remote, idltest.schema) > +def do_idl(schema_file, remote, *commands): > + schema = > ovs.db.schema.DbSchema.from_json(ovs.json.from_file(schema_file)) > + idl = ovs.db.idl.Idl(remote, schema) > > if commands: > error, stream = ovs.stream.Stream.open_block( > @@ -407,10 +408,10 @@ parse-table NAME OBJECT [DEFAULT-IS-ROOT] > parse table NAME with info OBJECT > parse-schema JSON > parse JSON as an OVSDB schema, and re-serialize > -idl SERVER [TRANSACTION...] > - connect to SERVER and dump the contents of the database > - as seen initially by the IDL implementation and after > - executing each TRANSACTION. (Each TRANSACTION must modify > +idl SCHEMA SERVER [TRANSACTION...] > + connect to SERVER (which has the specified SCHEMA) and dump the > + contents of the database as seen initially by the IDL implementation > + and after executing each TRANSACTION. (Each TRANSACTION must modify > the database or this command will hang.) > > The following options are also available: > @@ -459,7 +460,7 @@ def main(argv): > "parse-column": (do_parse_column, 2), > "parse-table": (do_parse_table, (2, 3)), > "parse-schema": (do_parse_schema, 1), > - "idl": (do_idl, (1,))} > + "idl": (do_idl, (2,))} > > command_name = args[0] > args = args[1:] > diff --git a/xenserver/usr_share_openvswitch_scripts_ovs-xapi-sync > b/xenserver/usr_share_openvswitch_scripts_ovs-xapi-sync > index 251a208..79e54d2 100755 > --- a/xenserver/usr_share_openvswitch_scripts_ovs-xapi-sync > +++ b/xenserver/usr_share_openvswitch_scripts_ovs-xapi-sync > @@ -32,6 +32,7 @@ import time > > import XenAPI > > +import ovs.dirs > from ovs.db import error > from ovs.db import types > import ovs.util > @@ -255,7 +256,9 @@ def main(argv): > sys.exit(1) > > remote = args[0] > - idl = ovs.db.idl.Idl(remote, prune_schema(ovs.vswitchd.ovsschema.copy())) > + schema_file = "%s/vswitch.ovsschema" % ovs.dirs.PKGDATADIR > + schema = > ovs.db.schema.DbSchema.from_json(ovs.json.from_file(schema_file)) > + idl = ovs.db.idl.Idl(remote, prune_schema(schema)) > > ovs.daemon.daemonize() > > _______________________________________________ dev mailing list [email protected] http://openvswitch.org/mailman/listinfo/dev
