import ovs.db.idl
import ovs.unixctl
import ovs.unixctl.server
+import six
vlog = ovs.vlog.Vlog("ovs-xapi-sync")
session = None
try:
session = XenAPI.xapi_local()
session.xenapi.login_with_password("", "")
- except XenAPI.Failure, e:
+ except XenAPI.Failure as e:
session = None
vlog.warn("Couldn't login to XAPI (%s)" % e)
return False
" XAPI session could not be initialized" % br_name)
return None
- recs = session.xenapi.network.get_all_records_where('field "bridge"="%s"' % br_name)
+ recs = session.xenapi.network.get_all_records_where(
+ 'field "bridge"="%s"' % br_name)
if len(recs) > 0:
- return recs.values()[0]
+ return next(six.itervalues(recs))
return None
while True:
unixctl_server.run()
if exiting:
- break;
+ break
idl.run()
if not xapi_down and not flush_cache and seqno == idl.change_seqno:
txn = ovs.db.idl.Transaction(idl)
new_bridges = {}
- for row in idl.tables["Bridge"].rows.itervalues():
+ for row in six.itervalues(idl.tables["Bridge"].rows):
bridge_id = bridges.get(row.name)
if bridge_id is None:
# Configure the new bridge.
bridges = new_bridges
iface_by_name = {}
- for row in idl.tables["Interface"].rows.itervalues():
+ for row in six.itervalues(idl.tables["Interface"].rows):
iface_by_name[row.name] = row
new_iface_ids = {}
new_vm_ids = {}
- for row in idl.tables["Interface"].rows.itervalues():
+ for row in six.itervalues(idl.tables["Interface"].rows):
# Match up paired vif and tap devices.
if row.name.startswith("vif"):
vif = row