Fix a few more app startup/shutdown problems
Change-Id: Ideb48a1e845ae345306fa10ec55499c471566ce7
diff --git a/apps/bgprouter/src/main/java/org/onosproject/bgprouter/BgpRouter.java b/apps/bgprouter/src/main/java/org/onosproject/bgprouter/BgpRouter.java
index 6ee27a3..eb3d873 100644
--- a/apps/bgprouter/src/main/java/org/onosproject/bgprouter/BgpRouter.java
+++ b/apps/bgprouter/src/main/java/org/onosproject/bgprouter/BgpRouter.java
@@ -84,6 +84,7 @@
private DeviceListener deviceListener;
private IcmpHandler icmpHandler;
+ private BgpConfig bgpConfig = null;
private static List<String> components = new ArrayList<>();
static {
@@ -100,11 +101,10 @@
components.forEach(name -> componentService.activate(appId, name));
ApplicationId routerAppId = coreService.getAppId(RoutingService.ROUTER_APP_ID);
- BgpConfig bgpConfig =
- networkConfigService.getConfig(routerAppId, RoutingService.CONFIG_CLASS);
+ bgpConfig = networkConfigService.getConfig(routerAppId, RoutingService.CONFIG_CLASS);
if (bgpConfig == null) {
- log.error("No BgpConfig found");
+ log.warn("No BgpConfig found");
return;
}
@@ -137,9 +137,11 @@
RoutingConfiguration.unregister(networkConfigService);
- connectivityManager.stop();
- icmpHandler.stop();
- deviceService.removeListener(deviceListener);
+ if (bgpConfig != null) {
+ connectivityManager.stop();
+ icmpHandler.stop();
+ deviceService.removeListener(deviceListener);
+ }
log.info("BgpRouter stopped");
}