Work toward ONOS-1451: Separate Event Key space per instance
Misc changes and cleanup (Step 3):
* Enabled the usage of ONOS Instance ID inside class TopologyEvent
- Added the ONOS Instance ID as part of the TopologyEvent key
- Use the ONOS Instance ID inside method toString() and equals()
- Also, added new method TopologyEvent.getIDasByteBuffer()
* Added support for Mastership Events inside class TopologyEvents,
including the JSON output.
NOTE: For now the JSON output for the Topology object itself doesn't
contain the corresponding Mastership info. The need for
adding such info is TBD.
* Added new class TopologyEventFilter that will perform the filtering
if incoming events. For now the internal logic of this filter is empty.
* Reordered some of the MastershipEvent-related code right before the
SwitchEvent-related code so it is more consistent.
Change-Id: I940c4686b776f5136a10c25bc49278b69c548fc5
diff --git a/src/test/java/net/onrc/onos/core/intent/runtime/PathCalcRuntimeModuleTest.java b/src/test/java/net/onrc/onos/core/intent/runtime/PathCalcRuntimeModuleTest.java
index 184499f..8f179db 100644
--- a/src/test/java/net/onrc/onos/core/intent/runtime/PathCalcRuntimeModuleTest.java
+++ b/src/test/java/net/onrc/onos/core/intent/runtime/PathCalcRuntimeModuleTest.java
@@ -20,6 +20,7 @@
import net.onrc.onos.core.intent.ShortestPathIntent;
import net.onrc.onos.core.topology.HostEvent;
import net.onrc.onos.core.topology.LinkEvent;
+import net.onrc.onos.core.topology.MastershipEvent;
import net.onrc.onos.core.topology.MockTopology;
import net.onrc.onos.core.topology.PortEvent;
import net.onrc.onos.core.topology.SwitchEvent;
@@ -455,6 +456,7 @@
hasIntentWithIdAndState("3___0", IntentState.INST_ACK));
// Remove one of the links and check results
+ final List<MastershipEvent> emptyMastershipEvents = new LinkedList<>();
final List<SwitchEvent> emptySwitchEvents = new LinkedList<>();
final List<PortEvent> emptyPortEvents = new LinkedList<>();
final List<HostEvent> emptyHostEvents = new LinkedList<>();
@@ -472,7 +474,9 @@
removedLinkEvents.add(linkEvent1);
removedLinkEvents.add(linkEvent2);
- topologyEvents = new TopologyEvents(emptySwitchEvents,
+ topologyEvents = new TopologyEvents(emptyMastershipEvents,
+ emptyMastershipEvents,
+ emptySwitchEvents,
emptySwitchEvents,
emptyPortEvents,
emptyPortEvents,
@@ -690,6 +694,7 @@
// Remove one of the links and check results
+ final List<MastershipEvent> emptyMastershipEvents = new LinkedList<>();
final List<SwitchEvent> emptySwitchEvents = new LinkedList<>();
final List<PortEvent> emptyPortEvents = new LinkedList<>();
final List<HostEvent> emptyHostEvents = new LinkedList<>();
@@ -707,7 +712,9 @@
removedLinkEvents.add(linkEvent1);
removedLinkEvents.add(linkEvent2);
- topologyEvents = new TopologyEvents(emptySwitchEvents,
+ topologyEvents = new TopologyEvents(emptyMastershipEvents,
+ emptyMastershipEvents,
+ emptySwitchEvents,
emptySwitchEvents,
emptyPortEvents,
emptyPortEvents,
@@ -759,7 +766,9 @@
addedLinkEvents.add(linkEvent1);
addedLinkEvents.add(linkEvent2);
- topologyEvents = new TopologyEvents(emptySwitchEvents,
+ topologyEvents = new TopologyEvents(emptyMastershipEvents,
+ emptyMastershipEvents,
+ emptySwitchEvents,
emptySwitchEvents,
emptyPortEvents,
emptyPortEvents,
diff --git a/src/test/java/net/onrc/onos/core/intent/runtime/UseCaseTest.java b/src/test/java/net/onrc/onos/core/intent/runtime/UseCaseTest.java
index 990ca6b..1d85984 100644
--- a/src/test/java/net/onrc/onos/core/intent/runtime/UseCaseTest.java
+++ b/src/test/java/net/onrc/onos/core/intent/runtime/UseCaseTest.java
@@ -33,6 +33,7 @@
import net.onrc.onos.core.topology.ITopologyListener;
import net.onrc.onos.core.topology.ITopologyService;
import net.onrc.onos.core.topology.LinkEvent;
+import net.onrc.onos.core.topology.MastershipEvent;
import net.onrc.onos.core.topology.MockTopology;
import net.onrc.onos.core.topology.PortEvent;
import net.onrc.onos.core.topology.SwitchEvent;
@@ -230,6 +231,8 @@
@Test
public void rerouteShortestPaths() throws FloodlightModuleException {
+ List<MastershipEvent> addedMastershipEvents = new LinkedList<>();
+ List<MastershipEvent> removedMastershipEvents = new LinkedList<>();
List<SwitchEvent> addedSwitchEvents = new LinkedList<>();
List<SwitchEvent> removedSwitchEvents = new LinkedList<>();
List<PortEvent> addedPortEvents = new LinkedList<>();
@@ -281,7 +284,9 @@
removedLinkEvents.add(linkEvent1);
removedLinkEvents.add(linkEvent2);
- topologyEvents = new TopologyEvents(addedSwitchEvents,
+ topologyEvents = new TopologyEvents(addedMastershipEvents,
+ removedMastershipEvents,
+ addedSwitchEvents,
removedSwitchEvents,
addedPortEvents,
removedPortEvents,
@@ -314,7 +319,9 @@
addedLinkEvents.add(linkEvent1);
addedLinkEvents.add(linkEvent2);
- topologyEvents = new TopologyEvents(addedSwitchEvents,
+ topologyEvents = new TopologyEvents(addedMastershipEvents,
+ removedMastershipEvents,
+ addedSwitchEvents,
removedSwitchEvents,
addedPortEvents,
removedPortEvents,