X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=xenserver%2Fusr_share_openvswitch_scripts_ovs-xapi-sync;fp=xenserver%2Fusr_share_openvswitch_scripts_ovs-xapi-sync;h=ac56d371cd51ae1be7ee2278c83e91949c520081;hb=ede1aa66eca16c812a4349a5aad4131b291f7293;hp=e14b319b1aa69961c88755d9e2740ab48a83cd72;hpb=12b3586d5743fec767367a9cbc9e04bebda170c4;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 e14b319b1..ac56d371c 100755 --- a/xenserver/usr_share_openvswitch_scripts_ovs-xapi-sync +++ b/xenserver/usr_share_openvswitch_scripts_ovs-xapi-sync @@ -98,13 +98,23 @@ def get_single_bridge_id(bridge_ids, default=None): return default for bridge_id in bridge_ids: - recs = session.xenapi.network.get_all_records_where('field "uuid"="%s"' % bridge_id) - if recs: - pifs = recs.values()[0]['PIFs'] - for pif in pifs: - rec = session.xenapi.PIF.get_record(pif) - if rec['VLAN'] == '-1': - return bridge_id + try: + recs = session.xenapi.network.get_all_records_where(\ + 'field "uuid"="%s"' % bridge_id) + if recs: + pifs = recs.values()[0]['PIFs'] + for pif in pifs: + try: + rec = session.xenapi.PIF.get_record(pif) + if rec['VLAN'] == '-1': + return bridge_id + except XenAPI.Failure: + vlog.warn("Could not find XAPI entry for PIF %s" % pif) + continue + + except XenAPI.Failure: + vlog.warn("Could not find XAPI entry for bridge_id %s" % bridge_id) + continue return default