From 6ee38b86889eeacbbf56ead2a617c1b2ccea5d0d Mon Sep 17 00:00:00 2001 From: Ray Milkey Date: Thu, 7 Feb 2019 08:08:26 -0800 Subject: [PATCH] Fixes for problems with starting and stopping apps in a minimal system - Missing app dependencies - Incorrect provider registrations - Fatal execeptions thrown when external resources are not present Change-Id: I3fdcf0666c88a47f399a722a9ab549d1104ff40e --- apps/castor/BUILD | 5 ++++- .../main/java/org/onosproject/dhcp/impl/DhcpManager.java | 2 +- apps/gangliametrics/BUILD | 4 ++-- apps/l3vpn/BUILD | 2 ++ .../main/java/org/onosproject/rabbitmq/impl/MQSender.java | 2 +- apps/routing/cpr/BUILD | 5 +++++ apps/simplefabric/BUILD | 1 + .../main/java/org/onosproject/virtualbng/VbngManager.java | 2 +- drivers/flowspec/BUILD | 5 ++++- drivers/stratum/BUILD | 1 + providers/bgp/BUILD | 6 +++++- providers/bgpcep/BUILD | 5 +++++ providers/ovsdb/host/BUILD | 1 + providers/pcep/BUILD | 2 ++ .../provider/pcep/topology/impl/PcepTopologyProvider.java | 2 +- 15 files changed, 36 insertions(+), 9 deletions(-) diff --git a/apps/castor/BUILD b/apps/castor/BUILD index 38b93ceca7..546453be1a 100644 --- a/apps/castor/BUILD +++ b/apps/castor/BUILD @@ -28,7 +28,10 @@ onos_app( category = "Utility", description = "Castor application", included_bundles = BUNDLES, - required_apps = ["org.onosproject.intentsynchronizer"], + required_apps = [ + "org.onosproject.intentsynchronizer", + "org.onosproject.route-service", + ], title = "Castor", url = "http://onosproject.org", ) diff --git a/apps/dhcp/app/src/main/java/org/onosproject/dhcp/impl/DhcpManager.java b/apps/dhcp/app/src/main/java/org/onosproject/dhcp/impl/DhcpManager.java index 6480e2b432..51312e81b8 100644 --- a/apps/dhcp/app/src/main/java/org/onosproject/dhcp/impl/DhcpManager.java +++ b/apps/dhcp/app/src/main/java/org/onosproject/dhcp/impl/DhcpManager.java @@ -104,7 +104,7 @@ import static org.onosproject.net.config.basics.SubjectFactories.APP_SUBJECT_FAC ) public class DhcpManager implements DhcpService { - private static final ProviderId PID = new ProviderId("of", "org.onosproject.dhcp", true); + private static final ProviderId PID = new ProviderId("of", "org.onosproject.dhcp"); private final Logger log = LoggerFactory.getLogger(getClass()); diff --git a/apps/gangliametrics/BUILD b/apps/gangliametrics/BUILD index b76c08cb21..85402ba989 100644 --- a/apps/gangliametrics/BUILD +++ b/apps/gangliametrics/BUILD @@ -4,7 +4,7 @@ COMPILE_DEPS = CORE_DEPS + METRICS + [ "@remotetea_oncrpc//jar", ] -EXCLUDED_BUNDLES = [ +INCLUDED_BUNDLES = [ "@gmetric4j//jar", "@metrics_ganglia//jar", "@remotetea_oncrpc//jar", @@ -17,7 +17,7 @@ osgi_jar_with_tests( onos_app( category = "Monitoring", description = "Performance metric service reporter", - excluded_bundles = EXCLUDED_BUNDLES, + included_bundles = INCLUDED_BUNDLES, title = "Ganglia Report and Query", url = "http://onosproject.org", ) diff --git a/apps/l3vpn/BUILD b/apps/l3vpn/BUILD index 1c4b585474..8e670a49d1 100644 --- a/apps/l3vpn/BUILD +++ b/apps/l3vpn/BUILD @@ -24,6 +24,8 @@ APPS = [ "org.onosproject.models.common", "org.onosproject.models.l3vpn", "org.onosproject.bgpcep", + "org.onosproject.pcep", + "org.onosproject.bgp", ] osgi_jar_with_tests( diff --git a/apps/rabbitmq/src/main/java/org/onosproject/rabbitmq/impl/MQSender.java b/apps/rabbitmq/src/main/java/org/onosproject/rabbitmq/impl/MQSender.java index 0b22178ab1..3058557dc0 100644 --- a/apps/rabbitmq/src/main/java/org/onosproject/rabbitmq/impl/MQSender.java +++ b/apps/rabbitmq/src/main/java/org/onosproject/rabbitmq/impl/MQSender.java @@ -106,7 +106,7 @@ public class MQSender implements Manageable { channel.queueDeclare(this.queueName, true, false, false, null); channel.queueBind(queueName, exchangeName, routingKey); } catch (Exception e) { - log.error(E_CREATE_CHAN, e); + log.warn(E_CREATE_CHAN, e.getMessage()); } } diff --git a/apps/routing/cpr/BUILD b/apps/routing/cpr/BUILD index 468a283536..17a3696150 100644 --- a/apps/routing/cpr/BUILD +++ b/apps/routing/cpr/BUILD @@ -18,11 +18,16 @@ BUNDLES = [ "//apps/routing-api:onos-apps-routing-api", ] +APPS = [ + "org.onosproject.route-service", +] + onos_app( app_name = "org.onosproject.cpr", category = "Traffic Engineering", description = "Redirects routing control traffic to a control plane", included_bundles = BUNDLES, + required_apps = APPS, title = "Control Plane Redirect", url = "http://onosproject.org", ) diff --git a/apps/simplefabric/BUILD b/apps/simplefabric/BUILD index 3fabae09c9..358adcdc75 100644 --- a/apps/simplefabric/BUILD +++ b/apps/simplefabric/BUILD @@ -11,6 +11,7 @@ onos_app( "org.onosproject.openflow-base", "org.onosproject.lldpprovider", "org.onosproject.hostprovider", + "org.onosproject.route-service", ], title = "SONA SimpleFabric", url = "http://onosproject.org", diff --git a/apps/virtualbng/src/main/java/org/onosproject/virtualbng/VbngManager.java b/apps/virtualbng/src/main/java/org/onosproject/virtualbng/VbngManager.java index 209d11dc5b..4ae5121ca2 100644 --- a/apps/virtualbng/src/main/java/org/onosproject/virtualbng/VbngManager.java +++ b/apps/virtualbng/src/main/java/org/onosproject/virtualbng/VbngManager.java @@ -138,7 +138,7 @@ public class VbngManager implements VbngService { vbngConfigurationService.getXosRestPort()); map = restClient.getRest(); } catch (Exception e) { - log.error("Could not contact XOS", e); + log.warn("Could not contact XOS {}", e.getMessage()); return; } if (map == null) { diff --git a/drivers/flowspec/BUILD b/drivers/flowspec/BUILD index fd1b1a7d69..4460a0c74b 100644 --- a/drivers/flowspec/BUILD +++ b/drivers/flowspec/BUILD @@ -14,7 +14,10 @@ onos_app( app_name = "org.onosproject.drivers.flowspec", category = "Drivers", description = "Adds support for devices using flow specs.", - required_apps = ["org.onosproject.drivers"], + required_apps = [ + "org.onosproject.drivers", + "org.onosproject.flowspec-api", + ], title = "Generic Flow Spec Drivers", url = "http://onosproject.org", ) diff --git a/drivers/stratum/BUILD b/drivers/stratum/BUILD index 41db9f1988..c0754913a8 100644 --- a/drivers/stratum/BUILD +++ b/drivers/stratum/BUILD @@ -19,6 +19,7 @@ onos_app( "org.onosproject.generaldeviceprovider", "org.onosproject.drivers.gnmi", "org.onosproject.drivers.p4runtime", + "org.onosproject.pipelines.basic", ], title = "Stratum Drivers", url = "http://onosproject.org", diff --git a/providers/bgp/BUILD b/providers/bgp/BUILD index b996b79883..b47739a73c 100644 --- a/providers/bgp/BUILD +++ b/providers/bgp/BUILD @@ -12,7 +12,11 @@ onos_app( category = "Provider", description = "BGP protocol southbound providers.", included_bundles = BUNDLES, - required_apps = ["org.onosproject.evpn-route-service"], + required_apps = [ + "org.onosproject.evpn-route-service", + "org.onosproject.tunnel", + "org.onosproject.pcep-api", + ], title = "BGP Provider", url = "http://onosproject.org", ) diff --git a/providers/bgpcep/BUILD b/providers/bgpcep/BUILD index 1ca61bc996..9910827524 100644 --- a/providers/bgpcep/BUILD +++ b/providers/bgpcep/BUILD @@ -20,6 +20,11 @@ onos_app( category = "Provider", description = "BGPCEP providers.", included_bundles = BUNDLES, + required_apps = [ + "org.onosproject.tunnel", + "org.onosproject.bgp", + "org.onosproject.pcep-api", + ], title = "BGPCEP Provider", url = "http://onosproject.org", ) diff --git a/providers/ovsdb/host/BUILD b/providers/ovsdb/host/BUILD index 63e86f7b91..b59626e16f 100644 --- a/providers/ovsdb/host/BUILD +++ b/providers/ovsdb/host/BUILD @@ -11,6 +11,7 @@ onos_app( app_name = "org.onosproject.ovsdbhostprovider", category = "Provider", description = "OVSDB Host provider.", + required_apps = ["org.onosproject.ovsdb-base"], title = "OVSDB host Provider", url = "http://onosproject.org", ) diff --git a/providers/pcep/BUILD b/providers/pcep/BUILD index a0e6254a63..fa0a676534 100644 --- a/providers/pcep/BUILD +++ b/providers/pcep/BUILD @@ -16,6 +16,8 @@ onos_app( required_apps = [ "org.onosproject.pcep-api", "org.onosproject.optical-model", + "org.onosproject.tunnel", + "org.onosproject.bgp", ], title = "PCEP Provider", url = "http://onosproject.org", diff --git a/providers/pcep/topology/src/main/java/org/onosproject/provider/pcep/topology/impl/PcepTopologyProvider.java b/providers/pcep/topology/src/main/java/org/onosproject/provider/pcep/topology/impl/PcepTopologyProvider.java index d0f8c1b4ac..26d69688ee 100644 --- a/providers/pcep/topology/src/main/java/org/onosproject/provider/pcep/topology/impl/PcepTopologyProvider.java +++ b/providers/pcep/topology/src/main/java/org/onosproject/provider/pcep/topology/impl/PcepTopologyProvider.java @@ -86,7 +86,7 @@ public class PcepTopologyProvider extends AbstractProvider public PcepTopologyProvider() { //In BGP-PCEP app, since both BGP and PCEP topology provider have same scheme //so BGP will be primary and PCEP topology provider will be ancillary. - super(new ProviderId("l3", "org.onosproject.provider.pcep", true)); + super(new ProviderId("l3", "org.onosproject.provider.bgp", true)); } private static final Logger log = LoggerFactory