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");
}
diff --git a/apps/castor/src/main/java/org/onosproject/castor/CastorArpManager.java b/apps/castor/src/main/java/org/onosproject/castor/CastorArpManager.java
index 3d6e7d0..ff7ec6b 100644
--- a/apps/castor/src/main/java/org/onosproject/castor/CastorArpManager.java
+++ b/apps/castor/src/main/java/org/onosproject/castor/CastorArpManager.java
@@ -116,10 +116,12 @@
* Withdraws the requested ARP packets.
*/
private void withdrawIntercepts() {
- TrafficSelector.Builder selectorBuilder =
+ if (deviceID != null && deviceID.isPresent()) {
+ TrafficSelector.Builder selectorBuilder =
DefaultTrafficSelector.builder();
- selectorBuilder.matchEthType(TYPE_ARP);
- packetService.cancelPackets(selectorBuilder.build(), CONTROL, appId, deviceID);
+ selectorBuilder.matchEthType(TYPE_ARP);
+ packetService.cancelPackets(selectorBuilder.build(), CONTROL, appId, deviceID);
+ }
}
/**
diff --git a/apps/graphitemetrics/BUILD b/apps/graphitemetrics/BUILD
index a7ca902..0d3ea56 100644
--- a/apps/graphitemetrics/BUILD
+++ b/apps/graphitemetrics/BUILD
@@ -3,9 +3,10 @@
"@metrics_graphite//jar",
]
-EXCLUDED_BUNDLES = [
+INCLUDED_BUNDLES = [
"@gmetric4j//jar",
"@metrics_graphite//jar",
+ "@remotetea_oncrpc//jar",
]
osgi_jar_with_tests(
@@ -15,7 +16,7 @@
onos_app(
category = "Monitoring",
description = "Performance metric service reporter and retriever for graphite",
- excluded_bundles = EXCLUDED_BUNDLES,
+ included_bundles = INCLUDED_BUNDLES,
title = "Graphite Report and Query",
url = "http://onosproject.org",
)