Skip to content
Snippets Groups Projects
Commit 3b56986e authored by Lluis Gifre Renom's avatar Lluis Gifre Renom
Browse files

Context component:

- Enhanced notifications of Topology sub-module
parent 84853876
No related branches found
No related tags found
2 merge requests!235Release TeraFlowSDN 3.0,!147Resolve "Notificatoins from Context are incomplete"
...@@ -29,7 +29,7 @@ from .models.LinkModel import LinkModel ...@@ -29,7 +29,7 @@ from .models.LinkModel import LinkModel
from .models.TopologyModel import TopologyDeviceModel, TopologyLinkModel, TopologyModel from .models.TopologyModel import TopologyDeviceModel, TopologyLinkModel, TopologyModel
from .uuids.Context import context_get_uuid from .uuids.Context import context_get_uuid
from .uuids.Topology import topology_get_uuid from .uuids.Topology import topology_get_uuid
from .Events import notify_event_topology from .Events import notify_event_context, notify_event_topology
LOGGER = logging.getLogger(__name__) LOGGER = logging.getLogger(__name__)
...@@ -127,9 +127,11 @@ def topology_set(db_engine : Engine, messagebroker : MessageBroker, request : To ...@@ -127,9 +127,11 @@ def topology_set(db_engine : Engine, messagebroker : MessageBroker, request : To
return updated_at > created_at return updated_at > created_at
updated = run_transaction(sessionmaker(bind=db_engine), callback) updated = run_transaction(sessionmaker(bind=db_engine), callback)
topology_id = json_topology_id(topology_uuid, context_id=json_context_id(context_uuid)) context_id = json_context_id(context_uuid)
topology_id = json_topology_id(topology_uuid, context_id=context_id)
event_type = EventTypeEnum.EVENTTYPE_UPDATE if updated else EventTypeEnum.EVENTTYPE_CREATE event_type = EventTypeEnum.EVENTTYPE_UPDATE if updated else EventTypeEnum.EVENTTYPE_CREATE
notify_event_topology(messagebroker, event_type, topology_id) notify_event_topology(messagebroker, event_type, topology_id)
notify_event_context(messagebroker, EventTypeEnum.EVENTTYPE_UPDATE, context_id)
return TopologyId(**topology_id) return TopologyId(**topology_id)
def topology_delete(db_engine : Engine, messagebroker : MessageBroker, request : TopologyId) -> Empty: def topology_delete(db_engine : Engine, messagebroker : MessageBroker, request : TopologyId) -> Empty:
...@@ -138,7 +140,9 @@ def topology_delete(db_engine : Engine, messagebroker : MessageBroker, request : ...@@ -138,7 +140,9 @@ def topology_delete(db_engine : Engine, messagebroker : MessageBroker, request :
num_deleted = session.query(TopologyModel).filter_by(topology_uuid=topology_uuid).delete() num_deleted = session.query(TopologyModel).filter_by(topology_uuid=topology_uuid).delete()
return num_deleted > 0 return num_deleted > 0
deleted = run_transaction(sessionmaker(bind=db_engine), callback) deleted = run_transaction(sessionmaker(bind=db_engine), callback)
topology_id = json_topology_id(topology_uuid, context_id=json_context_id(context_uuid)) context_id = json_context_id(context_uuid)
topology_id = json_topology_id(topology_uuid, context_id=context_id)
if deleted: if deleted:
notify_event_topology(messagebroker, EventTypeEnum.EVENTTYPE_REMOVE, topology_id) notify_event_topology(messagebroker, EventTypeEnum.EVENTTYPE_REMOVE, topology_id)
notify_event_context(messagebroker, EventTypeEnum.EVENTTYPE_UPDATE, context_id)
return Empty() return Empty()
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment