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
Showing
10 changed files
with
89 additions
and
63 deletions
This diff is collapsed. Click to expand it.
... | @@ -96,6 +96,13 @@ public class PeerConnectivityManager { | ... | @@ -96,6 +96,13 @@ public class PeerConnectivityManager { |
96 | } | 96 | } |
97 | 97 | ||
98 | /** | 98 | /** |
99 | + * Stops the peer connectivity manager. | ||
100 | + */ | ||
101 | + public void stop() { | ||
102 | + // TODO: Implement it | ||
103 | + } | ||
104 | + | ||
105 | + /** | ||
99 | * Sets up paths to establish connectivity between all internal | 106 | * Sets up paths to establish connectivity between all internal |
100 | * {@link BgpSpeaker}s and all external {@link BgpPeer}s. | 107 | * {@link BgpSpeaker}s and all external {@link BgpPeer}s. |
101 | */ | 108 | */ | ... | ... |
This diff is collapsed. Click to expand it.
... | @@ -55,6 +55,7 @@ public class SdnIp implements SdnIpService { | ... | @@ -55,6 +55,7 @@ public class SdnIp implements SdnIpService { |
55 | @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) | 55 | @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) |
56 | protected HostService hostService; | 56 | protected HostService hostService; |
57 | 57 | ||
58 | + private IntentSynchronizer intentSynchronizer; | ||
58 | private SdnIpConfigReader config; | 59 | private SdnIpConfigReader config; |
59 | private PeerConnectivityManager peerConnectivity; | 60 | private PeerConnectivityManager peerConnectivity; |
60 | private Router router; | 61 | private Router router; |
... | @@ -64,35 +65,41 @@ public class SdnIp implements SdnIpService { | ... | @@ -64,35 +65,41 @@ public class SdnIp implements SdnIpService { |
64 | protected void activate() { | 65 | protected void activate() { |
65 | log.debug("SDN-IP started"); | 66 | log.debug("SDN-IP started"); |
66 | 67 | ||
68 | + ApplicationId appId = coreService.registerApplication(SDN_IP_APP); | ||
67 | config = new SdnIpConfigReader(); | 69 | config = new SdnIpConfigReader(); |
68 | config.init(); | 70 | config.init(); |
69 | 71 | ||
70 | - InterfaceService interfaceService = new HostToInterfaceAdaptor(hostService); | 72 | + InterfaceService interfaceService = |
73 | + new HostToInterfaceAdaptor(hostService); | ||
71 | 74 | ||
72 | - ApplicationId appId = coreService.registerApplication(SDN_IP_APP); | 75 | + intentSynchronizer = new IntentSynchronizer(appId, intentService); |
76 | + intentSynchronizer.start(); | ||
73 | 77 | ||
74 | peerConnectivity = new PeerConnectivityManager(appId, config, | 78 | peerConnectivity = new PeerConnectivityManager(appId, config, |
75 | interfaceService, intentService); | 79 | interfaceService, intentService); |
76 | peerConnectivity.start(); | 80 | peerConnectivity.start(); |
77 | 81 | ||
78 | - router = new Router(appId, intentService, hostService, config, interfaceService); | 82 | + router = new Router(appId, intentSynchronizer, hostService, config, |
83 | + interfaceService); | ||
79 | router.start(); | 84 | router.start(); |
80 | 85 | ||
81 | - // Manually set the router as the leader to allow testing | 86 | + // Manually set the instance as the leader to allow testing |
82 | // TODO change this when we get a leader election | 87 | // TODO change this when we get a leader election |
83 | - router.leaderChanged(true); | 88 | + intentSynchronizer.leaderChanged(true); |
84 | 89 | ||
85 | bgpSessionManager = new BgpSessionManager(router); | 90 | bgpSessionManager = new BgpSessionManager(router); |
86 | - bgpSessionManager.startUp(2000); // TODO | 91 | + // TODO: the local BGP listen port number should be configurable |
92 | + bgpSessionManager.start(2000); | ||
87 | 93 | ||
88 | // TODO need to disable link discovery on external ports | 94 | // TODO need to disable link discovery on external ports |
89 | - | ||
90 | } | 95 | } |
91 | 96 | ||
92 | @Deactivate | 97 | @Deactivate |
93 | protected void deactivate() { | 98 | protected void deactivate() { |
94 | - bgpSessionManager.shutDown(); | 99 | + bgpSessionManager.stop(); |
95 | - router.shutdown(); | 100 | + router.stop(); |
101 | + peerConnectivity.stop(); | ||
102 | + intentSynchronizer.stop(); | ||
96 | 103 | ||
97 | log.info("Stopped"); | 104 | log.info("Stopped"); |
98 | } | 105 | } |
... | @@ -114,7 +121,7 @@ public class SdnIp implements SdnIpService { | ... | @@ -114,7 +121,7 @@ public class SdnIp implements SdnIpService { |
114 | 121 | ||
115 | @Override | 122 | @Override |
116 | public void modifyPrimary(boolean isPrimary) { | 123 | public void modifyPrimary(boolean isPrimary) { |
117 | - router.leaderChanged(isPrimary); | 124 | + intentSynchronizer.leaderChanged(isPrimary); |
118 | } | 125 | } |
119 | 126 | ||
120 | static String dpidToUri(String dpid) { | 127 | static String dpidToUri(String dpid) { | ... | ... |
... | @@ -181,8 +181,8 @@ public class BgpSessionManager { | ... | @@ -181,8 +181,8 @@ public class BgpSessionManager { |
181 | * @param listenPortNumber the port number to listen on. By default | 181 | * @param listenPortNumber the port number to listen on. By default |
182 | * it should be BgpConstants.BGP_PORT (179) | 182 | * it should be BgpConstants.BGP_PORT (179) |
183 | */ | 183 | */ |
184 | - public void startUp(int listenPortNumber) { | 184 | + public void start(int listenPortNumber) { |
185 | - log.debug("BGP Session Manager startUp()"); | 185 | + log.debug("BGP Session Manager start."); |
186 | isShutdown = false; | 186 | isShutdown = false; |
187 | 187 | ||
188 | ChannelFactory channelFactory = | 188 | ChannelFactory channelFactory = |
... | @@ -222,9 +222,9 @@ public class BgpSessionManager { | ... | @@ -222,9 +222,9 @@ public class BgpSessionManager { |
222 | } | 222 | } |
223 | 223 | ||
224 | /** | 224 | /** |
225 | - * Shuts down the BGP Session Manager operation. | 225 | + * Stops the BGP Session Manager operation. |
226 | */ | 226 | */ |
227 | - public void shutDown() { | 227 | + public void stop() { |
228 | isShutdown = true; | 228 | isShutdown = true; |
229 | allChannels.close().awaitUninterruptibly(); | 229 | allChannels.close().awaitUninterruptibly(); |
230 | serverBootstrap.releaseExternalResources(); | 230 | serverBootstrap.releaseExternalResources(); | ... | ... |
... | @@ -54,7 +54,8 @@ import com.googlecode.concurrenttrees.radixinverted.ConcurrentInvertedRadixTree; | ... | @@ -54,7 +54,8 @@ import com.googlecode.concurrenttrees.radixinverted.ConcurrentInvertedRadixTree; |
54 | import com.googlecode.concurrenttrees.radixinverted.InvertedRadixTree; | 54 | import com.googlecode.concurrenttrees.radixinverted.InvertedRadixTree; |
55 | 55 | ||
56 | /** | 56 | /** |
57 | - * This class tests the intent synchronization function in Router class. | 57 | + * This class tests the intent synchronization function in the |
58 | + * IntentSynchronizer class. | ||
58 | */ | 59 | */ |
59 | public class IntentSyncTest { | 60 | public class IntentSyncTest { |
60 | 61 | ||
... | @@ -74,6 +75,7 @@ public class IntentSyncTest { | ... | @@ -74,6 +75,7 @@ public class IntentSyncTest { |
74 | DeviceId.deviceId("of:0000000000000003"), | 75 | DeviceId.deviceId("of:0000000000000003"), |
75 | PortNumber.portNumber(1)); | 76 | PortNumber.portNumber(1)); |
76 | 77 | ||
78 | + private IntentSynchronizer intentSynchronizer; | ||
77 | private Router router; | 79 | private Router router; |
78 | 80 | ||
79 | private static final ApplicationId APPID = new ApplicationId() { | 81 | private static final ApplicationId APPID = new ApplicationId() { |
... | @@ -94,7 +96,8 @@ public class IntentSyncTest { | ... | @@ -94,7 +96,8 @@ public class IntentSyncTest { |
94 | setUpHostService(); | 96 | setUpHostService(); |
95 | intentService = createMock(IntentService.class); | 97 | intentService = createMock(IntentService.class); |
96 | 98 | ||
97 | - router = new Router(APPID, intentService, | 99 | + intentSynchronizer = new IntentSynchronizer(APPID, intentService); |
100 | + router = new Router(APPID, intentSynchronizer, | ||
98 | hostService, null, interfaceService); | 101 | hostService, null, interfaceService); |
99 | } | 102 | } |
100 | 103 | ||
... | @@ -260,7 +263,7 @@ public class IntentSyncTest { | ... | @@ -260,7 +263,7 @@ public class IntentSyncTest { |
260 | // Compose a intent, which is equal to intent5 but the id is different. | 263 | // Compose a intent, which is equal to intent5 but the id is different. |
261 | MultiPointToSinglePointIntent intent5New = | 264 | MultiPointToSinglePointIntent intent5New = |
262 | staticIntentBuilder(intent5, routeEntry5, "00:00:00:00:00:01"); | 265 | staticIntentBuilder(intent5, routeEntry5, "00:00:00:00:00:01"); |
263 | - assertTrue(TestUtils.callMethod(router, | 266 | + assertTrue(TestUtils.callMethod(intentSynchronizer, |
264 | "compareMultiPointToSinglePointIntents", | 267 | "compareMultiPointToSinglePointIntents", |
265 | new Class<?>[] {MultiPointToSinglePointIntent.class, | 268 | new Class<?>[] {MultiPointToSinglePointIntent.class, |
266 | MultiPointToSinglePointIntent.class}, | 269 | MultiPointToSinglePointIntent.class}, |
... | @@ -296,7 +299,8 @@ public class IntentSyncTest { | ... | @@ -296,7 +299,8 @@ public class IntentSyncTest { |
296 | pushedRouteIntents.put(routeEntry5.prefix(), intent5New); | 299 | pushedRouteIntents.put(routeEntry5.prefix(), intent5New); |
297 | pushedRouteIntents.put(routeEntry6.prefix(), intent6); | 300 | pushedRouteIntents.put(routeEntry6.prefix(), intent6); |
298 | pushedRouteIntents.put(routeEntry7.prefix(), intent7); | 301 | pushedRouteIntents.put(routeEntry7.prefix(), intent7); |
299 | - TestUtils.setField(router, "pushedRouteIntents", pushedRouteIntents); | 302 | + TestUtils.setField(intentSynchronizer, "pushedRouteIntents", |
303 | + pushedRouteIntents); | ||
300 | 304 | ||
301 | // Set up expectation | 305 | // Set up expectation |
302 | reset(intentService); | 306 | reset(intentService); |
... | @@ -327,8 +331,9 @@ public class IntentSyncTest { | ... | @@ -327,8 +331,9 @@ public class IntentSyncTest { |
327 | replay(intentService); | 331 | replay(intentService); |
328 | 332 | ||
329 | // Start the test | 333 | // Start the test |
330 | - router.leaderChanged(true); | 334 | + intentSynchronizer.leaderChanged(true); |
331 | - TestUtils.callMethod(router, "syncIntents", new Class<?>[] {}); | 335 | + TestUtils.callMethod(intentSynchronizer, "syncIntents", |
336 | + new Class<?>[] {}); | ||
332 | 337 | ||
333 | // Verify | 338 | // Verify |
334 | assertEquals(router.getRoutes().size(), 6); | 339 | assertEquals(router.getRoutes().size(), 6); |
... | @@ -338,12 +343,12 @@ public class IntentSyncTest { | ... | @@ -338,12 +343,12 @@ public class IntentSyncTest { |
338 | assertTrue(router.getRoutes().contains(routeEntry5)); | 343 | assertTrue(router.getRoutes().contains(routeEntry5)); |
339 | assertTrue(router.getRoutes().contains(routeEntry6)); | 344 | assertTrue(router.getRoutes().contains(routeEntry6)); |
340 | 345 | ||
341 | - assertEquals(router.getPushedRouteIntents().size(), 6); | 346 | + assertEquals(intentSynchronizer.getPushedRouteIntents().size(), 6); |
342 | - assertTrue(router.getPushedRouteIntents().contains(intent1)); | 347 | + assertTrue(intentSynchronizer.getPushedRouteIntents().contains(intent1)); |
343 | - assertTrue(router.getPushedRouteIntents().contains(intent3)); | 348 | + assertTrue(intentSynchronizer.getPushedRouteIntents().contains(intent3)); |
344 | - assertTrue(router.getPushedRouteIntents().contains(intent4Update)); | 349 | + assertTrue(intentSynchronizer.getPushedRouteIntents().contains(intent4Update)); |
345 | - assertTrue(router.getPushedRouteIntents().contains(intent5)); | 350 | + assertTrue(intentSynchronizer.getPushedRouteIntents().contains(intent5)); |
346 | - assertTrue(router.getPushedRouteIntents().contains(intent6)); | 351 | + assertTrue(intentSynchronizer.getPushedRouteIntents().contains(intent6)); |
347 | 352 | ||
348 | verify(intentService); | 353 | verify(intentService); |
349 | } | 354 | } | ... | ... |
... | @@ -102,6 +102,7 @@ public class RouterTest { | ... | @@ -102,6 +102,7 @@ public class RouterTest { |
102 | } | 102 | } |
103 | }; | 103 | }; |
104 | 104 | ||
105 | + private IntentSynchronizer intentSynchronizer; | ||
105 | private Router router; | 106 | private Router router; |
106 | 107 | ||
107 | @Before | 108 | @Before |
... | @@ -113,7 +114,8 @@ public class RouterTest { | ... | @@ -113,7 +114,8 @@ public class RouterTest { |
113 | 114 | ||
114 | intentService = createMock(IntentService.class); | 115 | intentService = createMock(IntentService.class); |
115 | 116 | ||
116 | - router = new Router(APPID, intentService, | 117 | + intentSynchronizer = new IntentSynchronizer(APPID, intentService); |
118 | + router = new Router(APPID, intentSynchronizer, | ||
117 | hostService, sdnIpConfigService, interfaceService); | 119 | hostService, sdnIpConfigService, interfaceService); |
118 | } | 120 | } |
119 | 121 | ||
... | @@ -258,15 +260,15 @@ public class RouterTest { | ... | @@ -258,15 +260,15 @@ public class RouterTest { |
258 | replay(intentService); | 260 | replay(intentService); |
259 | 261 | ||
260 | // Call the processRouteAdd() method in Router class | 262 | // Call the processRouteAdd() method in Router class |
261 | - router.leaderChanged(true); | 263 | + intentSynchronizer.leaderChanged(true); |
262 | - TestUtils.setField(router, "isActivatedLeader", true); | 264 | + TestUtils.setField(intentSynchronizer, "isActivatedLeader", true); |
263 | router.processRouteAdd(routeEntry); | 265 | router.processRouteAdd(routeEntry); |
264 | 266 | ||
265 | // Verify | 267 | // Verify |
266 | assertEquals(router.getRoutes().size(), 1); | 268 | assertEquals(router.getRoutes().size(), 1); |
267 | assertTrue(router.getRoutes().contains(routeEntry)); | 269 | assertTrue(router.getRoutes().contains(routeEntry)); |
268 | - assertEquals(router.getPushedRouteIntents().size(), 1); | 270 | + assertEquals(intentSynchronizer.getPushedRouteIntents().size(), 1); |
269 | - assertEquals(router.getPushedRouteIntents().iterator().next(), | 271 | + assertEquals(intentSynchronizer.getPushedRouteIntents().iterator().next(), |
270 | intent); | 272 | intent); |
271 | verify(intentService); | 273 | verify(intentService); |
272 | } | 274 | } |
... | @@ -338,15 +340,15 @@ public class RouterTest { | ... | @@ -338,15 +340,15 @@ public class RouterTest { |
338 | replay(intentService); | 340 | replay(intentService); |
339 | 341 | ||
340 | // Call the processRouteAdd() method in Router class | 342 | // Call the processRouteAdd() method in Router class |
341 | - router.leaderChanged(true); | 343 | + intentSynchronizer.leaderChanged(true); |
342 | - TestUtils.setField(router, "isActivatedLeader", true); | 344 | + TestUtils.setField(intentSynchronizer, "isActivatedLeader", true); |
343 | router.processRouteAdd(routeEntryUpdate); | 345 | router.processRouteAdd(routeEntryUpdate); |
344 | 346 | ||
345 | // Verify | 347 | // Verify |
346 | assertEquals(router.getRoutes().size(), 1); | 348 | assertEquals(router.getRoutes().size(), 1); |
347 | assertTrue(router.getRoutes().contains(routeEntryUpdate)); | 349 | assertTrue(router.getRoutes().contains(routeEntryUpdate)); |
348 | - assertEquals(router.getPushedRouteIntents().size(), 1); | 350 | + assertEquals(intentSynchronizer.getPushedRouteIntents().size(), 1); |
349 | - assertEquals(router.getPushedRouteIntents().iterator().next(), | 351 | + assertEquals(intentSynchronizer.getPushedRouteIntents().iterator().next(), |
350 | intentNew); | 352 | intentNew); |
351 | verify(intentService); | 353 | verify(intentService); |
352 | } | 354 | } |
... | @@ -389,13 +391,13 @@ public class RouterTest { | ... | @@ -389,13 +391,13 @@ public class RouterTest { |
389 | replay(intentService); | 391 | replay(intentService); |
390 | 392 | ||
391 | // Call route deleting method in Router class | 393 | // Call route deleting method in Router class |
392 | - router.leaderChanged(true); | 394 | + intentSynchronizer.leaderChanged(true); |
393 | - TestUtils.setField(router, "isActivatedLeader", true); | 395 | + TestUtils.setField(intentSynchronizer, "isActivatedLeader", true); |
394 | router.processRouteDelete(routeEntry); | 396 | router.processRouteDelete(routeEntry); |
395 | 397 | ||
396 | // Verify | 398 | // Verify |
397 | assertEquals(router.getRoutes().size(), 0); | 399 | assertEquals(router.getRoutes().size(), 0); |
398 | - assertEquals(router.getPushedRouteIntents().size(), 0); | 400 | + assertEquals(intentSynchronizer.getPushedRouteIntents().size(), 0); |
399 | verify(intentService); | 401 | verify(intentService); |
400 | } | 402 | } |
401 | 403 | ||
... | @@ -416,14 +418,14 @@ public class RouterTest { | ... | @@ -416,14 +418,14 @@ public class RouterTest { |
416 | replay(intentService); | 418 | replay(intentService); |
417 | 419 | ||
418 | // Call the processRouteAdd() method in Router class | 420 | // Call the processRouteAdd() method in Router class |
419 | - router.leaderChanged(true); | 421 | + intentSynchronizer.leaderChanged(true); |
420 | - TestUtils.setField(router, "isActivatedLeader", true); | 422 | + TestUtils.setField(intentSynchronizer, "isActivatedLeader", true); |
421 | router.processRouteAdd(routeEntry); | 423 | router.processRouteAdd(routeEntry); |
422 | 424 | ||
423 | // Verify | 425 | // Verify |
424 | assertEquals(router.getRoutes().size(), 1); | 426 | assertEquals(router.getRoutes().size(), 1); |
425 | assertTrue(router.getRoutes().contains(routeEntry)); | 427 | assertTrue(router.getRoutes().contains(routeEntry)); |
426 | - assertEquals(router.getPushedRouteIntents().size(), 0); | 428 | + assertEquals(intentSynchronizer.getPushedRouteIntents().size(), 0); |
427 | verify(intentService); | 429 | verify(intentService); |
428 | } | 430 | } |
429 | } | 431 | } | ... | ... |
... | @@ -92,6 +92,7 @@ public class RouterTestWithAsyncArp { | ... | @@ -92,6 +92,7 @@ public class RouterTestWithAsyncArp { |
92 | DeviceId.deviceId("of:0000000000000003"), | 92 | DeviceId.deviceId("of:0000000000000003"), |
93 | PortNumber.portNumber(1)); | 93 | PortNumber.portNumber(1)); |
94 | 94 | ||
95 | + private IntentSynchronizer intentSynchronizer; | ||
95 | private Router router; | 96 | private Router router; |
96 | private InternalHostListener internalHostListener; | 97 | private InternalHostListener internalHostListener; |
97 | 98 | ||
... | @@ -114,7 +115,8 @@ public class RouterTestWithAsyncArp { | ... | @@ -114,7 +115,8 @@ public class RouterTestWithAsyncArp { |
114 | hostService = createMock(HostService.class); | 115 | hostService = createMock(HostService.class); |
115 | intentService = createMock(IntentService.class); | 116 | intentService = createMock(IntentService.class); |
116 | 117 | ||
117 | - router = new Router(APPID, intentService, | 118 | + intentSynchronizer = new IntentSynchronizer(APPID, intentService); |
119 | + router = new Router(APPID, intentSynchronizer, | ||
118 | hostService, sdnIpConfigService, interfaceService); | 120 | hostService, sdnIpConfigService, interfaceService); |
119 | internalHostListener = router.new InternalHostListener(); | 121 | internalHostListener = router.new InternalHostListener(); |
120 | } | 122 | } |
... | @@ -211,8 +213,8 @@ public class RouterTestWithAsyncArp { | ... | @@ -211,8 +213,8 @@ public class RouterTestWithAsyncArp { |
211 | replay(intentService); | 213 | replay(intentService); |
212 | 214 | ||
213 | // Call the processRouteAdd() method in Router class | 215 | // Call the processRouteAdd() method in Router class |
214 | - router.leaderChanged(true); | 216 | + intentSynchronizer.leaderChanged(true); |
215 | - TestUtils.setField(router, "isActivatedLeader", true); | 217 | + TestUtils.setField(intentSynchronizer, "isActivatedLeader", true); |
216 | router.processRouteAdd(routeEntry); | 218 | router.processRouteAdd(routeEntry); |
217 | 219 | ||
218 | Host host = new DefaultHost(ProviderId.NONE, HostId.NONE, | 220 | Host host = new DefaultHost(ProviderId.NONE, HostId.NONE, |
... | @@ -227,9 +229,9 @@ public class RouterTestWithAsyncArp { | ... | @@ -227,9 +229,9 @@ public class RouterTestWithAsyncArp { |
227 | // Verify | 229 | // Verify |
228 | assertEquals(router.getRoutes().size(), 1); | 230 | assertEquals(router.getRoutes().size(), 1); |
229 | assertTrue(router.getRoutes().contains(routeEntry)); | 231 | assertTrue(router.getRoutes().contains(routeEntry)); |
230 | - assertEquals(router.getPushedRouteIntents().size(), 1); | 232 | + assertEquals(intentSynchronizer.getPushedRouteIntents().size(), 1); |
231 | - assertEquals(router.getPushedRouteIntents().iterator().next(), | 233 | + assertEquals(intentSynchronizer.getPushedRouteIntents().iterator().next(), |
232 | - intent); | 234 | + intent); |
233 | verify(intentService); | 235 | verify(intentService); |
234 | verify(hostService); | 236 | verify(hostService); |
235 | 237 | ||
... | @@ -294,8 +296,8 @@ public class RouterTestWithAsyncArp { | ... | @@ -294,8 +296,8 @@ public class RouterTestWithAsyncArp { |
294 | replay(intentService); | 296 | replay(intentService); |
295 | 297 | ||
296 | // Call the processRouteAdd() method in Router class | 298 | // Call the processRouteAdd() method in Router class |
297 | - router.leaderChanged(true); | 299 | + intentSynchronizer.leaderChanged(true); |
298 | - TestUtils.setField(router, "isActivatedLeader", true); | 300 | + TestUtils.setField(intentSynchronizer, "isActivatedLeader", true); |
299 | router.processRouteAdd(routeEntryUpdate); | 301 | router.processRouteAdd(routeEntryUpdate); |
300 | 302 | ||
301 | Host host = new DefaultHost(ProviderId.NONE, HostId.NONE, | 303 | Host host = new DefaultHost(ProviderId.NONE, HostId.NONE, |
... | @@ -310,8 +312,8 @@ public class RouterTestWithAsyncArp { | ... | @@ -310,8 +312,8 @@ public class RouterTestWithAsyncArp { |
310 | // Verify | 312 | // Verify |
311 | assertEquals(router.getRoutes().size(), 1); | 313 | assertEquals(router.getRoutes().size(), 1); |
312 | assertTrue(router.getRoutes().contains(routeEntryUpdate)); | 314 | assertTrue(router.getRoutes().contains(routeEntryUpdate)); |
313 | - assertEquals(router.getPushedRouteIntents().size(), 1); | 315 | + assertEquals(intentSynchronizer.getPushedRouteIntents().size(), 1); |
314 | - assertEquals(router.getPushedRouteIntents().iterator().next(), | 316 | + assertEquals(intentSynchronizer.getPushedRouteIntents().iterator().next(), |
315 | intentNew); | 317 | intentNew); |
316 | verify(intentService); | 318 | verify(intentService); |
317 | verify(hostService); | 319 | verify(hostService); |
... | @@ -342,13 +344,13 @@ public class RouterTestWithAsyncArp { | ... | @@ -342,13 +344,13 @@ public class RouterTestWithAsyncArp { |
342 | replay(intentService); | 344 | replay(intentService); |
343 | 345 | ||
344 | // Call route deleting method in Router class | 346 | // Call route deleting method in Router class |
345 | - router.leaderChanged(true); | 347 | + intentSynchronizer.leaderChanged(true); |
346 | - TestUtils.setField(router, "isActivatedLeader", true); | 348 | + TestUtils.setField(intentSynchronizer, "isActivatedLeader", true); |
347 | router.processRouteDelete(routeEntry); | 349 | router.processRouteDelete(routeEntry); |
348 | 350 | ||
349 | // Verify | 351 | // Verify |
350 | assertEquals(router.getRoutes().size(), 0); | 352 | assertEquals(router.getRoutes().size(), 0); |
351 | - assertEquals(router.getPushedRouteIntents().size(), 0); | 353 | + assertEquals(intentSynchronizer.getPushedRouteIntents().size(), 0); |
352 | verify(intentService); | 354 | verify(intentService); |
353 | } | 355 | } |
354 | 356 | ... | ... |
... | @@ -66,6 +66,7 @@ public class SdnIpTest { | ... | @@ -66,6 +66,7 @@ public class SdnIpTest { |
66 | private static final int MIN_PREFIX_LENGTH = 1; | 66 | private static final int MIN_PREFIX_LENGTH = 1; |
67 | private static final int MAX_PREFIX_LENGTH = 32; | 67 | private static final int MAX_PREFIX_LENGTH = 32; |
68 | 68 | ||
69 | + private IntentSynchronizer intentSynchronizer; | ||
69 | static Router router; | 70 | static Router router; |
70 | 71 | ||
71 | private SdnIpConfigService sdnIpConfigService; | 72 | private SdnIpConfigService sdnIpConfigService; |
... | @@ -111,7 +112,8 @@ public class SdnIpTest { | ... | @@ -111,7 +112,8 @@ public class SdnIpTest { |
111 | intentService = createMock(IntentService.class); | 112 | intentService = createMock(IntentService.class); |
112 | random = new Random(); | 113 | random = new Random(); |
113 | 114 | ||
114 | - router = new Router(APPID, intentService, hostService, | 115 | + intentSynchronizer = new IntentSynchronizer(APPID, intentService); |
116 | + router = new Router(APPID, intentSynchronizer, hostService, | ||
115 | sdnIpConfigService, interfaceService); | 117 | sdnIpConfigService, interfaceService); |
116 | } | 118 | } |
117 | 119 | ||
... | @@ -228,8 +230,8 @@ public class SdnIpTest { | ... | @@ -228,8 +230,8 @@ public class SdnIpTest { |
228 | 230 | ||
229 | replay(intentService); | 231 | replay(intentService); |
230 | 232 | ||
231 | - router.leaderChanged(true); | 233 | + intentSynchronizer.leaderChanged(true); |
232 | - TestUtils.setField(router, "isActivatedLeader", true); | 234 | + TestUtils.setField(intentSynchronizer, "isActivatedLeader", true); |
233 | 235 | ||
234 | // Add route updates | 236 | // Add route updates |
235 | for (RouteUpdate update : routeUpdates) { | 237 | for (RouteUpdate update : routeUpdates) { |
... | @@ -239,7 +241,8 @@ public class SdnIpTest { | ... | @@ -239,7 +241,8 @@ public class SdnIpTest { |
239 | latch.await(5000, TimeUnit.MILLISECONDS); | 241 | latch.await(5000, TimeUnit.MILLISECONDS); |
240 | 242 | ||
241 | assertEquals(router.getRoutes().size(), numRoutes); | 243 | assertEquals(router.getRoutes().size(), numRoutes); |
242 | - assertEquals(router.getPushedRouteIntents().size(), numRoutes); | 244 | + assertEquals(intentSynchronizer.getPushedRouteIntents().size(), |
245 | + numRoutes); | ||
243 | 246 | ||
244 | verify(intentService); | 247 | verify(intentService); |
245 | } | 248 | } |
... | @@ -295,8 +298,8 @@ public class SdnIpTest { | ... | @@ -295,8 +298,8 @@ public class SdnIpTest { |
295 | 298 | ||
296 | replay(intentService); | 299 | replay(intentService); |
297 | 300 | ||
298 | - router.leaderChanged(true); | 301 | + intentSynchronizer.leaderChanged(true); |
299 | - TestUtils.setField(router, "isActivatedLeader", true); | 302 | + TestUtils.setField(intentSynchronizer, "isActivatedLeader", true); |
300 | 303 | ||
301 | // Send the add updates first | 304 | // Send the add updates first |
302 | for (RouteUpdate update : routeUpdates) { | 305 | for (RouteUpdate update : routeUpdates) { |
... | @@ -314,7 +317,7 @@ public class SdnIpTest { | ... | @@ -314,7 +317,7 @@ public class SdnIpTest { |
314 | deleteCount.await(5000, TimeUnit.MILLISECONDS); | 317 | deleteCount.await(5000, TimeUnit.MILLISECONDS); |
315 | 318 | ||
316 | assertEquals(0, router.getRoutes().size()); | 319 | assertEquals(0, router.getRoutes().size()); |
317 | - assertEquals(0, router.getPushedRouteIntents().size()); | 320 | + assertEquals(0, intentSynchronizer.getPushedRouteIntents().size()); |
318 | verify(intentService); | 321 | verify(intentService); |
319 | } | 322 | } |
320 | 323 | ... | ... |
... | @@ -95,7 +95,7 @@ public class BgpSessionManagerTest { | ... | @@ -95,7 +95,7 @@ public class BgpSessionManagerTest { |
95 | // | 95 | // |
96 | bgpSessionManager = new BgpSessionManager(dummyRouteListener); | 96 | bgpSessionManager = new BgpSessionManager(dummyRouteListener); |
97 | // NOTE: We use port 0 to bind on any available port | 97 | // NOTE: We use port 0 to bind on any available port |
98 | - bgpSessionManager.startUp(0); | 98 | + bgpSessionManager.start(0); |
99 | 99 | ||
100 | // Get the port number the BGP Session Manager is listening on | 100 | // Get the port number the BGP Session Manager is listening on |
101 | Channel serverChannel = TestUtils.getField(bgpSessionManager, | 101 | Channel serverChannel = TestUtils.getField(bgpSessionManager, |
... | @@ -136,7 +136,7 @@ public class BgpSessionManagerTest { | ... | @@ -136,7 +136,7 @@ public class BgpSessionManagerTest { |
136 | 136 | ||
137 | @After | 137 | @After |
138 | public void tearDown() throws Exception { | 138 | public void tearDown() throws Exception { |
139 | - bgpSessionManager.shutDown(); | 139 | + bgpSessionManager.stop(); |
140 | bgpSessionManager = null; | 140 | bgpSessionManager = null; |
141 | } | 141 | } |
142 | 142 | ... | ... |
-
Please register or login to post a comment