Moved the BGP Route Intent synchronization mechanism from the Router class
to the new class IntentSynchronizer.
Also, minor cleanup in some of the method names and access scope.
Change-Id: I38257cd1d9516ef3b3dd50f23c28015054c73d70
diff --git a/apps/sdnip/src/test/java/org/onlab/onos/sdnip/IntentSyncTest.java b/apps/sdnip/src/test/java/org/onlab/onos/sdnip/IntentSyncTest.java
index 7be7d11..4b29ba8 100644
--- a/apps/sdnip/src/test/java/org/onlab/onos/sdnip/IntentSyncTest.java
+++ b/apps/sdnip/src/test/java/org/onlab/onos/sdnip/IntentSyncTest.java
@@ -54,7 +54,8 @@
import com.googlecode.concurrenttrees.radixinverted.InvertedRadixTree;
/**
- * This class tests the intent synchronization function in Router class.
+ * This class tests the intent synchronization function in the
+ * IntentSynchronizer class.
*/
public class IntentSyncTest {
@@ -74,6 +75,7 @@
DeviceId.deviceId("of:0000000000000003"),
PortNumber.portNumber(1));
+ private IntentSynchronizer intentSynchronizer;
private Router router;
private static final ApplicationId APPID = new ApplicationId() {
@@ -94,7 +96,8 @@
setUpHostService();
intentService = createMock(IntentService.class);
- router = new Router(APPID, intentService,
+ intentSynchronizer = new IntentSynchronizer(APPID, intentService);
+ router = new Router(APPID, intentSynchronizer,
hostService, null, interfaceService);
}
@@ -260,7 +263,7 @@
// Compose a intent, which is equal to intent5 but the id is different.
MultiPointToSinglePointIntent intent5New =
staticIntentBuilder(intent5, routeEntry5, "00:00:00:00:00:01");
- assertTrue(TestUtils.callMethod(router,
+ assertTrue(TestUtils.callMethod(intentSynchronizer,
"compareMultiPointToSinglePointIntents",
new Class<?>[] {MultiPointToSinglePointIntent.class,
MultiPointToSinglePointIntent.class},
@@ -296,7 +299,8 @@
pushedRouteIntents.put(routeEntry5.prefix(), intent5New);
pushedRouteIntents.put(routeEntry6.prefix(), intent6);
pushedRouteIntents.put(routeEntry7.prefix(), intent7);
- TestUtils.setField(router, "pushedRouteIntents", pushedRouteIntents);
+ TestUtils.setField(intentSynchronizer, "pushedRouteIntents",
+ pushedRouteIntents);
// Set up expectation
reset(intentService);
@@ -327,8 +331,9 @@
replay(intentService);
// Start the test
- router.leaderChanged(true);
- TestUtils.callMethod(router, "syncIntents", new Class<?>[] {});
+ intentSynchronizer.leaderChanged(true);
+ TestUtils.callMethod(intentSynchronizer, "syncIntents",
+ new Class<?>[] {});
// Verify
assertEquals(router.getRoutes().size(), 6);
@@ -338,12 +343,12 @@
assertTrue(router.getRoutes().contains(routeEntry5));
assertTrue(router.getRoutes().contains(routeEntry6));
- assertEquals(router.getPushedRouteIntents().size(), 6);
- assertTrue(router.getPushedRouteIntents().contains(intent1));
- assertTrue(router.getPushedRouteIntents().contains(intent3));
- assertTrue(router.getPushedRouteIntents().contains(intent4Update));
- assertTrue(router.getPushedRouteIntents().contains(intent5));
- assertTrue(router.getPushedRouteIntents().contains(intent6));
+ assertEquals(intentSynchronizer.getPushedRouteIntents().size(), 6);
+ assertTrue(intentSynchronizer.getPushedRouteIntents().contains(intent1));
+ assertTrue(intentSynchronizer.getPushedRouteIntents().contains(intent3));
+ assertTrue(intentSynchronizer.getPushedRouteIntents().contains(intent4Update));
+ assertTrue(intentSynchronizer.getPushedRouteIntents().contains(intent5));
+ assertTrue(intentSynchronizer.getPushedRouteIntents().contains(intent6));
verify(intentService);
}
diff --git a/apps/sdnip/src/test/java/org/onlab/onos/sdnip/RouterTest.java b/apps/sdnip/src/test/java/org/onlab/onos/sdnip/RouterTest.java
index b4b0551..b5beb4a 100644
--- a/apps/sdnip/src/test/java/org/onlab/onos/sdnip/RouterTest.java
+++ b/apps/sdnip/src/test/java/org/onlab/onos/sdnip/RouterTest.java
@@ -102,6 +102,7 @@
}
};
+ private IntentSynchronizer intentSynchronizer;
private Router router;
@Before
@@ -113,7 +114,8 @@
intentService = createMock(IntentService.class);
- router = new Router(APPID, intentService,
+ intentSynchronizer = new IntentSynchronizer(APPID, intentService);
+ router = new Router(APPID, intentSynchronizer,
hostService, sdnIpConfigService, interfaceService);
}
@@ -258,15 +260,15 @@
replay(intentService);
// Call the processRouteAdd() method in Router class
- router.leaderChanged(true);
- TestUtils.setField(router, "isActivatedLeader", true);
+ intentSynchronizer.leaderChanged(true);
+ TestUtils.setField(intentSynchronizer, "isActivatedLeader", true);
router.processRouteAdd(routeEntry);
// Verify
assertEquals(router.getRoutes().size(), 1);
assertTrue(router.getRoutes().contains(routeEntry));
- assertEquals(router.getPushedRouteIntents().size(), 1);
- assertEquals(router.getPushedRouteIntents().iterator().next(),
+ assertEquals(intentSynchronizer.getPushedRouteIntents().size(), 1);
+ assertEquals(intentSynchronizer.getPushedRouteIntents().iterator().next(),
intent);
verify(intentService);
}
@@ -338,15 +340,15 @@
replay(intentService);
// Call the processRouteAdd() method in Router class
- router.leaderChanged(true);
- TestUtils.setField(router, "isActivatedLeader", true);
+ intentSynchronizer.leaderChanged(true);
+ TestUtils.setField(intentSynchronizer, "isActivatedLeader", true);
router.processRouteAdd(routeEntryUpdate);
// Verify
assertEquals(router.getRoutes().size(), 1);
assertTrue(router.getRoutes().contains(routeEntryUpdate));
- assertEquals(router.getPushedRouteIntents().size(), 1);
- assertEquals(router.getPushedRouteIntents().iterator().next(),
+ assertEquals(intentSynchronizer.getPushedRouteIntents().size(), 1);
+ assertEquals(intentSynchronizer.getPushedRouteIntents().iterator().next(),
intentNew);
verify(intentService);
}
@@ -389,13 +391,13 @@
replay(intentService);
// Call route deleting method in Router class
- router.leaderChanged(true);
- TestUtils.setField(router, "isActivatedLeader", true);
+ intentSynchronizer.leaderChanged(true);
+ TestUtils.setField(intentSynchronizer, "isActivatedLeader", true);
router.processRouteDelete(routeEntry);
// Verify
assertEquals(router.getRoutes().size(), 0);
- assertEquals(router.getPushedRouteIntents().size(), 0);
+ assertEquals(intentSynchronizer.getPushedRouteIntents().size(), 0);
verify(intentService);
}
@@ -416,14 +418,14 @@
replay(intentService);
// Call the processRouteAdd() method in Router class
- router.leaderChanged(true);
- TestUtils.setField(router, "isActivatedLeader", true);
+ intentSynchronizer.leaderChanged(true);
+ TestUtils.setField(intentSynchronizer, "isActivatedLeader", true);
router.processRouteAdd(routeEntry);
// Verify
assertEquals(router.getRoutes().size(), 1);
assertTrue(router.getRoutes().contains(routeEntry));
- assertEquals(router.getPushedRouteIntents().size(), 0);
+ assertEquals(intentSynchronizer.getPushedRouteIntents().size(), 0);
verify(intentService);
}
}
diff --git a/apps/sdnip/src/test/java/org/onlab/onos/sdnip/RouterTestWithAsyncArp.java b/apps/sdnip/src/test/java/org/onlab/onos/sdnip/RouterTestWithAsyncArp.java
index 6798670..3f147cc 100644
--- a/apps/sdnip/src/test/java/org/onlab/onos/sdnip/RouterTestWithAsyncArp.java
+++ b/apps/sdnip/src/test/java/org/onlab/onos/sdnip/RouterTestWithAsyncArp.java
@@ -92,6 +92,7 @@
DeviceId.deviceId("of:0000000000000003"),
PortNumber.portNumber(1));
+ private IntentSynchronizer intentSynchronizer;
private Router router;
private InternalHostListener internalHostListener;
@@ -114,7 +115,8 @@
hostService = createMock(HostService.class);
intentService = createMock(IntentService.class);
- router = new Router(APPID, intentService,
+ intentSynchronizer = new IntentSynchronizer(APPID, intentService);
+ router = new Router(APPID, intentSynchronizer,
hostService, sdnIpConfigService, interfaceService);
internalHostListener = router.new InternalHostListener();
}
@@ -211,8 +213,8 @@
replay(intentService);
// Call the processRouteAdd() method in Router class
- router.leaderChanged(true);
- TestUtils.setField(router, "isActivatedLeader", true);
+ intentSynchronizer.leaderChanged(true);
+ TestUtils.setField(intentSynchronizer, "isActivatedLeader", true);
router.processRouteAdd(routeEntry);
Host host = new DefaultHost(ProviderId.NONE, HostId.NONE,
@@ -227,9 +229,9 @@
// Verify
assertEquals(router.getRoutes().size(), 1);
assertTrue(router.getRoutes().contains(routeEntry));
- assertEquals(router.getPushedRouteIntents().size(), 1);
- assertEquals(router.getPushedRouteIntents().iterator().next(),
- intent);
+ assertEquals(intentSynchronizer.getPushedRouteIntents().size(), 1);
+ assertEquals(intentSynchronizer.getPushedRouteIntents().iterator().next(),
+ intent);
verify(intentService);
verify(hostService);
@@ -294,8 +296,8 @@
replay(intentService);
// Call the processRouteAdd() method in Router class
- router.leaderChanged(true);
- TestUtils.setField(router, "isActivatedLeader", true);
+ intentSynchronizer.leaderChanged(true);
+ TestUtils.setField(intentSynchronizer, "isActivatedLeader", true);
router.processRouteAdd(routeEntryUpdate);
Host host = new DefaultHost(ProviderId.NONE, HostId.NONE,
@@ -310,8 +312,8 @@
// Verify
assertEquals(router.getRoutes().size(), 1);
assertTrue(router.getRoutes().contains(routeEntryUpdate));
- assertEquals(router.getPushedRouteIntents().size(), 1);
- assertEquals(router.getPushedRouteIntents().iterator().next(),
+ assertEquals(intentSynchronizer.getPushedRouteIntents().size(), 1);
+ assertEquals(intentSynchronizer.getPushedRouteIntents().iterator().next(),
intentNew);
verify(intentService);
verify(hostService);
@@ -342,13 +344,13 @@
replay(intentService);
// Call route deleting method in Router class
- router.leaderChanged(true);
- TestUtils.setField(router, "isActivatedLeader", true);
+ intentSynchronizer.leaderChanged(true);
+ TestUtils.setField(intentSynchronizer, "isActivatedLeader", true);
router.processRouteDelete(routeEntry);
// Verify
assertEquals(router.getRoutes().size(), 0);
- assertEquals(router.getPushedRouteIntents().size(), 0);
+ assertEquals(intentSynchronizer.getPushedRouteIntents().size(), 0);
verify(intentService);
}
diff --git a/apps/sdnip/src/test/java/org/onlab/onos/sdnip/SdnIpTest.java b/apps/sdnip/src/test/java/org/onlab/onos/sdnip/SdnIpTest.java
index 348a62fd..0cf706a 100644
--- a/apps/sdnip/src/test/java/org/onlab/onos/sdnip/SdnIpTest.java
+++ b/apps/sdnip/src/test/java/org/onlab/onos/sdnip/SdnIpTest.java
@@ -66,6 +66,7 @@
private static final int MIN_PREFIX_LENGTH = 1;
private static final int MAX_PREFIX_LENGTH = 32;
+ private IntentSynchronizer intentSynchronizer;
static Router router;
private SdnIpConfigService sdnIpConfigService;
@@ -111,7 +112,8 @@
intentService = createMock(IntentService.class);
random = new Random();
- router = new Router(APPID, intentService, hostService,
+ intentSynchronizer = new IntentSynchronizer(APPID, intentService);
+ router = new Router(APPID, intentSynchronizer, hostService,
sdnIpConfigService, interfaceService);
}
@@ -228,8 +230,8 @@
replay(intentService);
- router.leaderChanged(true);
- TestUtils.setField(router, "isActivatedLeader", true);
+ intentSynchronizer.leaderChanged(true);
+ TestUtils.setField(intentSynchronizer, "isActivatedLeader", true);
// Add route updates
for (RouteUpdate update : routeUpdates) {
@@ -239,7 +241,8 @@
latch.await(5000, TimeUnit.MILLISECONDS);
assertEquals(router.getRoutes().size(), numRoutes);
- assertEquals(router.getPushedRouteIntents().size(), numRoutes);
+ assertEquals(intentSynchronizer.getPushedRouteIntents().size(),
+ numRoutes);
verify(intentService);
}
@@ -295,8 +298,8 @@
replay(intentService);
- router.leaderChanged(true);
- TestUtils.setField(router, "isActivatedLeader", true);
+ intentSynchronizer.leaderChanged(true);
+ TestUtils.setField(intentSynchronizer, "isActivatedLeader", true);
// Send the add updates first
for (RouteUpdate update : routeUpdates) {
@@ -314,7 +317,7 @@
deleteCount.await(5000, TimeUnit.MILLISECONDS);
assertEquals(0, router.getRoutes().size());
- assertEquals(0, router.getPushedRouteIntents().size());
+ assertEquals(0, intentSynchronizer.getPushedRouteIntents().size());
verify(intentService);
}
diff --git a/apps/sdnip/src/test/java/org/onlab/onos/sdnip/bgp/BgpSessionManagerTest.java b/apps/sdnip/src/test/java/org/onlab/onos/sdnip/bgp/BgpSessionManagerTest.java
index 5fdd6eb..5f8c075 100644
--- a/apps/sdnip/src/test/java/org/onlab/onos/sdnip/bgp/BgpSessionManagerTest.java
+++ b/apps/sdnip/src/test/java/org/onlab/onos/sdnip/bgp/BgpSessionManagerTest.java
@@ -95,7 +95,7 @@
//
bgpSessionManager = new BgpSessionManager(dummyRouteListener);
// NOTE: We use port 0 to bind on any available port
- bgpSessionManager.startUp(0);
+ bgpSessionManager.start(0);
// Get the port number the BGP Session Manager is listening on
Channel serverChannel = TestUtils.getField(bgpSessionManager,
@@ -136,7 +136,7 @@
@After
public void tearDown() throws Exception {
- bgpSessionManager.shutDown();
+ bgpSessionManager.stop();
bgpSessionManager = null;
}