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

Reply via email to