Commit 214722a8 authored by Lluis Gifre Renom's avatar Lluis Gifre Renom
Browse files

Simap Connector component:

- Fixed self-controller identification for proper physical link delegation
parent 796efb64
Loading
Loading
Loading
Loading
+11 −1
Original line number Diff line number Diff line
@@ -293,7 +293,17 @@ class EventDispatcher(BaseEventDispatcher):
        te_topo = self._simap_client.network(topology_name)
        te_topo.update()

        allowed_link_names = ALLOWED_LINKS_PER_CONTROLLER.get(topology_name)
        topologies = self._object_cache.get_all(CachedEntities.TOPOLOGY, fresh=False)
        topology_names = {t.name for t in topologies}
        topology_names.discard(DEFAULT_TOPOLOGY_NAME)
        if len(topology_names) != 1:
            MSG = 'LinkEvent({:s}) skipped, unable to identify self-controller'
            str_link_event = grpc_message_to_json_string(link_event)
            LOGGER.warning(MSG.format(str_link_event))
            return False
        domain_name = topology_names.pop()  # trans-pkt/agg/e2e

        allowed_link_names = ALLOWED_LINKS_PER_CONTROLLER.get(domain_name, set())
        if link_name not in allowed_link_names: return False

        src_device   = self._object_cache.get(CachedEntities.DEVICE,   endpoint_uuids[0][0], force_update =True )