X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=xenserver%2Fusr_share_openvswitch_scripts_ovs-xapi-sync;h=cb35e7a30cb4e8209110a3cd255f500cdf179b16;hb=1dc6839d2dd4e672742114a2664f5130c3235f3d;hp=cc14d6f28bf9aa6e0c133707fdbe6caf4b82e965;hpb=94e0c3ff3c096456bddfe33ac8d6540be17bfe8e;p=sliver-openvswitch.git diff --git a/xenserver/usr_share_openvswitch_scripts_ovs-xapi-sync b/xenserver/usr_share_openvswitch_scripts_ovs-xapi-sync index cc14d6f28..cb35e7a30 100755 --- a/xenserver/usr_share_openvswitch_scripts_ovs-xapi-sync +++ b/xenserver/usr_share_openvswitch_scripts_ovs-xapi-sync @@ -1,5 +1,5 @@ #!/usr/bin/python -# Copyright (c) 2009, 2010, 2011, 2012 Nicira Networks +# Copyright (c) 2009, 2010, 2011, 2012 Nicira, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -35,6 +35,7 @@ from ovs.db import types import ovs.daemon import ovs.db.idl import ovs.unixctl +import ovs.unixctl.server vlog = ovs.vlog.Vlog("ovs-xapi-sync") session = None @@ -81,10 +82,9 @@ def get_network_by_bridge(br_name): " XAPI session could not be initialized" % br_name) return None - for n in session.xenapi.network.get_all(): - rec = session.xenapi.network.get_record(n) - if rec['bridge'] == br_name: - return rec + recs = session.xenapi.network.get_all_records_where('field "bridge"="%s"' % br_name) + if len(recs) > 0: + return recs.values()[0] return None @@ -236,7 +236,7 @@ def main(): ovs.unixctl.command_register("exit", "", 0, 0, unixctl_exit, None) ovs.unixctl.command_register("flush-cache", "", 0, 0, unixctl_flush_cache, None) - error, unixctl_server = ovs.unixctl.UnixctlServer.create(None) + error, unixctl_server = ovs.unixctl.server.UnixctlServer.create(None) if error: ovs.util.ovs_fatal(error, "could not create unixctl server", vlog) @@ -361,6 +361,7 @@ def main(): iface_ids = new_iface_ids vm_ids = new_vm_ids + txn.add_comment("ovs-xapi-sync: Updating records from XAPI") txn.commit_block() unixctl_server.close()