From ef852789b2c156196a847b211066ae456c2683f5 Mon Sep 17 00:00:00 2001 From: Jan Srnicek Date: Tue, 27 Jun 2017 09:25:04 +0200 Subject: HONEYCOMB-358 - Activation module Provides module that provides set of distribution started modules Change-Id: I54287cc17f3af7d51a47a7342e5b8496e5ade00e Signed-off-by: Jan Srnicek --- .../io/fd/honeycomb/infra/bgp/distro/Main.java | 13 ++------ .../config/activation.json | 3 ++ .../infra/bgp/distro/BgpDistributionTest.java | 36 +--------------------- .../src/test/resources/activation.json | 3 ++ .../base-distro-test-modules/base-modules | 14 +++++++++ 5 files changed, 24 insertions(+), 45 deletions(-) create mode 100644 infra/bgp-distribution/src/main/resources/honeycomb-minimal-resources/config/activation.json create mode 100644 infra/bgp-distribution/src/test/resources/activation.json create mode 100644 infra/bgp-distribution/src/test/resources/base-distro-test-modules/base-modules (limited to 'infra/bgp-distribution') diff --git a/infra/bgp-distribution/src/main/java/io/fd/honeycomb/infra/bgp/distro/Main.java b/infra/bgp-distribution/src/main/java/io/fd/honeycomb/infra/bgp/distro/Main.java index bf6725a09..8994f0415 100644 --- a/infra/bgp-distribution/src/main/java/io/fd/honeycomb/infra/bgp/distro/Main.java +++ b/infra/bgp-distribution/src/main/java/io/fd/honeycomb/infra/bgp/distro/Main.java @@ -16,18 +16,12 @@ package io.fd.honeycomb.infra.bgp.distro; -import static io.fd.honeycomb.infra.distro.ActiveModuleProvider.STANDARD_MODULES_RELATIVE_PATH; -import static io.fd.honeycomb.infra.distro.ActiveModuleProvider.aggregateResources; -import static io.fd.honeycomb.infra.distro.ActiveModuleProvider.loadActiveModules; - import com.google.inject.ConfigurationException; import com.google.inject.CreationException; import com.google.inject.Injector; -import com.google.inject.Module; import com.google.inject.ProvisionException; import io.fd.honeycomb.infra.bgp.BgpConfiguration; import io.fd.honeycomb.infra.bgp.BgpServerProvider; -import java.util.Set; import org.opendaylight.yang.gen.v1.http.openconfig.net.yang.bgp.rev151009.BgpNeighbors; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -40,16 +34,15 @@ public final class Main { } public static void main(String[] args) { - final ClassLoader classLoader = Main.class.getClassLoader(); - init(loadActiveModules(aggregateResources(STANDARD_MODULES_RELATIVE_PATH, classLoader))); + init(); } /** * Initialize the Honeycomb with provided modules */ - public static Injector init(final Set modules) { + public static Injector init() { try { - Injector injector = io.fd.honeycomb.infra.distro.Main.init(modules); + Injector injector = io.fd.honeycomb.infra.distro.Main.init(); final BgpConfiguration bgpAttributes = injector.getInstance(BgpConfiguration.class); if (bgpAttributes.isBgpEnabled()) { diff --git a/infra/bgp-distribution/src/main/resources/honeycomb-minimal-resources/config/activation.json b/infra/bgp-distribution/src/main/resources/honeycomb-minimal-resources/config/activation.json new file mode 100644 index 000000000..7b6f44a20 --- /dev/null +++ b/infra/bgp-distribution/src/main/resources/honeycomb-minimal-resources/config/activation.json @@ -0,0 +1,3 @@ +{ + "modules-resource-path": "../modules/" +} \ No newline at end of file diff --git a/infra/bgp-distribution/src/test/java/io/fd/honeycomb/infra/bgp/distro/BgpDistributionTest.java b/infra/bgp-distribution/src/test/java/io/fd/honeycomb/infra/bgp/distro/BgpDistributionTest.java index d205b95a8..be927a64e 100644 --- a/infra/bgp-distribution/src/test/java/io/fd/honeycomb/infra/bgp/distro/BgpDistributionTest.java +++ b/infra/bgp-distribution/src/test/java/io/fd/honeycomb/infra/bgp/distro/BgpDistributionTest.java @@ -16,30 +16,12 @@ package io.fd.honeycomb.infra.bgp.distro; -import static com.google.common.collect.ImmutableSet.of; - import com.google.common.io.ByteStreams; -import com.google.inject.Module; import com.mashape.unirest.http.Unirest; -import io.fd.honeycomb.infra.bgp.BgpConfigurationModule; -import io.fd.honeycomb.infra.bgp.BgpExtensionsModule; -import io.fd.honeycomb.infra.bgp.BgpModule; -import io.fd.honeycomb.infra.bgp.BgpReadersModule; -import io.fd.honeycomb.infra.bgp.BgpWritersModule; -import io.fd.honeycomb.infra.distro.cfgattrs.CfgAttrsModule; -import io.fd.honeycomb.infra.distro.data.ConfigAndOperationalPipelineModule; -import io.fd.honeycomb.infra.distro.data.context.ContextPipelineModule; -import io.fd.honeycomb.infra.distro.initializer.InitializerPipelineModule; -import io.fd.honeycomb.infra.distro.netconf.NetconfModule; -import io.fd.honeycomb.infra.distro.netconf.NetconfReadersModule; -import io.fd.honeycomb.infra.distro.restconf.RestconfModule; -import io.fd.honeycomb.infra.distro.schema.SchemaModule; -import io.fd.honeycomb.infra.distro.schema.YangBindingProviderModule; import java.io.IOException; import java.io.InputStream; import java.net.InetAddress; import java.net.Socket; -import java.util.Set; import javax.net.ssl.SSLContext; import org.apache.http.conn.ssl.SSLConnectionSocketFactory; import org.apache.http.conn.ssl.TrustSelfSignedStrategy; @@ -62,22 +44,6 @@ public class BgpDistributionTest { private static final byte BGP_OPEN_MSG_TYPE = 1; private static final int BGP_PORT = 1790; - public static final Set BASE_MODULES = of( - new YangBindingProviderModule(), - new SchemaModule(), - new ConfigAndOperationalPipelineModule(), - new ContextPipelineModule(), - new InitializerPipelineModule(), - new NetconfModule(), - new NetconfReadersModule(), - new RestconfModule(), - new CfgAttrsModule(), - new BgpModule(), - new BgpExtensionsModule(), - new BgpReadersModule(), - new BgpWritersModule(), - new BgpConfigurationModule()); - @Before public void setUp() throws Exception { SSLContext sslcontext = SSLContexts.custom() @@ -94,7 +60,7 @@ public class BgpDistributionTest { @Test(timeout = 120000) public void test() throws Exception { - io.fd.honeycomb.infra.bgp.distro.Main.init(BASE_MODULES); + io.fd.honeycomb.infra.bgp.distro.Main.init(); LOG.info("Testing Honeycomb BGP distribution"); assertBgp(); } diff --git a/infra/bgp-distribution/src/test/resources/activation.json b/infra/bgp-distribution/src/test/resources/activation.json new file mode 100644 index 000000000..7e2015123 --- /dev/null +++ b/infra/bgp-distribution/src/test/resources/activation.json @@ -0,0 +1,3 @@ +{ + "modules-resource-path": "base-distro-test-modules" +} \ No newline at end of file diff --git a/infra/bgp-distribution/src/test/resources/base-distro-test-modules/base-modules b/infra/bgp-distribution/src/test/resources/base-distro-test-modules/base-modules new file mode 100644 index 000000000..18602a0ad --- /dev/null +++ b/infra/bgp-distribution/src/test/resources/base-distro-test-modules/base-modules @@ -0,0 +1,14 @@ +io.fd.honeycomb.infra.bgp.BgpConfigurationModule +io.fd.honeycomb.infra.bgp.BgpExtensionsModule +io.fd.honeycomb.infra.bgp.BgpModule +io.fd.honeycomb.infra.bgp.BgpReadersModule +io.fd.honeycomb.infra.bgp.BgpWritersModule +io.fd.honeycomb.infra.distro.cfgattrs.CfgAttrsModule +io.fd.honeycomb.infra.distro.data.ConfigAndOperationalPipelineModule +io.fd.honeycomb.infra.distro.data.context.ContextPipelineModule +io.fd.honeycomb.infra.distro.initializer.InitializerPipelineModule +io.fd.honeycomb.infra.distro.netconf.NetconfModule +io.fd.honeycomb.infra.distro.netconf.NetconfReadersModule +io.fd.honeycomb.infra.distro.restconf.RestconfModule +io.fd.honeycomb.infra.distro.schema.SchemaModule +io.fd.honeycomb.infra.distro.schema.YangBindingProviderModule \ No newline at end of file -- cgit 1.2.3-korg