summaryrefslogtreecommitdiffstats
path: root/infra/it/memory-benchmark/src/main/java/io
diff options
context:
space:
mode:
authorJan Srnicek <jsrnicek@cisco.com>2017-07-13 20:21:01 +0200
committerMarek Gradzki <mgradzki@cisco.com>2017-07-14 12:20:49 +0000
commitb65cd89989ead7082089bf6f333e56b03f619606 (patch)
treec80952fdaead46627ca861d1b3edb68dc4b87f47 /infra/it/memory-benchmark/src/main/java/io
parent32771868ab8f9d2fdad236c049ec1c3fc3c76ba0 (diff)
HONEYCOMB-360 - Restconf Northbound Intefaces provider separation
- Restconf configuration included under restconf.json Change-Id: I45f503d3ef383bd6e3d356308d3212c7314b7a28 Signed-off-by: Jan Srnicek <jsrnicek@cisco.com>
Diffstat (limited to 'infra/it/memory-benchmark/src/main/java/io')
-rw-r--r--infra/it/memory-benchmark/src/main/java/io/fd/honeycomb/benchmark/memory/MemoryFootprintBenchmark.java33
-rw-r--r--infra/it/memory-benchmark/src/main/java/io/fd/honeycomb/benchmark/memory/config/StaticActivationConfig.java33
-rw-r--r--infra/it/memory-benchmark/src/main/java/io/fd/honeycomb/benchmark/memory/config/StaticActivationModule.java39
-rw-r--r--infra/it/memory-benchmark/src/main/java/io/fd/honeycomb/benchmark/memory/config/StaticHoneycombConfiguration.java22
4 files changed, 74 insertions, 53 deletions
diff --git a/infra/it/memory-benchmark/src/main/java/io/fd/honeycomb/benchmark/memory/MemoryFootprintBenchmark.java b/infra/it/memory-benchmark/src/main/java/io/fd/honeycomb/benchmark/memory/MemoryFootprintBenchmark.java
index a51819a7c..ea83359c5 100644
--- a/infra/it/memory-benchmark/src/main/java/io/fd/honeycomb/benchmark/memory/MemoryFootprintBenchmark.java
+++ b/infra/it/memory-benchmark/src/main/java/io/fd/honeycomb/benchmark/memory/MemoryFootprintBenchmark.java
@@ -18,20 +18,10 @@ package io.fd.honeycomb.benchmark.memory;
import com.google.common.collect.ImmutableSet;
import com.google.inject.Injector;
-import com.google.inject.Module;
import io.fd.honeycomb.benchmark.memory.config.BindableCfgAttrsModule;
-import io.fd.honeycomb.benchmark.memory.config.StaticHoneycombManagementModule;
-import io.fd.honeycomb.benchmark.memory.write.NoopWritersModule;
+import io.fd.honeycomb.benchmark.memory.config.StaticActivationModule;
import io.fd.honeycomb.infra.distro.Main;
import io.fd.honeycomb.infra.distro.cfgattrs.HoneycombConfiguration;
-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 io.fd.honeycomb.management.jmx.JMXBeanProvider;
import org.eclipse.jetty.server.Server;
import org.slf4j.Logger;
@@ -50,23 +40,6 @@ public class MemoryFootprintBenchmark implements JMXBeanProvider, BenchmarkFiles
private static final Logger LOG = LoggerFactory.getLogger(MemoryFootprintBenchmark.class);
- /**
- * All modules from infra to load.Not static to not persist state
- */
- private final Set<Module> BASE_MODULES = ImmutableSet.of(
- new YangBindingProviderModule(),
- new SchemaModule(),
- new ConfigAndOperationalPipelineModule(),
- new ContextPipelineModule(),
- new InitializerPipelineModule(),
- new NetconfModule(),
- new NetconfReadersModule(),
- new RestconfModule(),
- // to enable jmx
- new StaticHoneycombManagementModule(),
- //adds noop writers
- new NoopWritersModule());
-
// configuration class used to run benchmark, allows us to switch between honeycomb with data, or on rest
private final HoneycombConfiguration configuration;
@@ -94,9 +67,7 @@ public class MemoryFootprintBenchmark implements JMXBeanProvider, BenchmarkFiles
*/
private Injector startHoneycomb() {
LOG.info("Starting embedded server with configuration {}", configuration);
- return Main.init(ImmutableSet.<Module>builder()
- .add(new BindableCfgAttrsModule(configuration))
- .addAll(BASE_MODULES).build());
+ return Main.init(new StaticActivationModule(new BindableCfgAttrsModule(configuration)));
}
/**
diff --git a/infra/it/memory-benchmark/src/main/java/io/fd/honeycomb/benchmark/memory/config/StaticActivationConfig.java b/infra/it/memory-benchmark/src/main/java/io/fd/honeycomb/benchmark/memory/config/StaticActivationConfig.java
new file mode 100644
index 000000000..3a8ec31b6
--- /dev/null
+++ b/infra/it/memory-benchmark/src/main/java/io/fd/honeycomb/benchmark/memory/config/StaticActivationConfig.java
@@ -0,0 +1,33 @@
+/*
+ * Copyright (c) 2017 Cisco and/or its affiliates.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at:
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package io.fd.honeycomb.benchmark.memory.config;
+
+import io.fd.honeycomb.infra.distro.activation.ActivationConfig;
+
+// TODO HONEYCOMB-383 - Use config files
+// Used to directly point to resource files
+public class StaticActivationConfig extends ActivationConfig {
+
+ @Override
+ public String getModulesResourcePath() {
+ return "static-modules";
+ }
+
+ @Override
+ public String getYangModulesIndexPath() {
+ return "static-yang-index";
+ }
+}
diff --git a/infra/it/memory-benchmark/src/main/java/io/fd/honeycomb/benchmark/memory/config/StaticActivationModule.java b/infra/it/memory-benchmark/src/main/java/io/fd/honeycomb/benchmark/memory/config/StaticActivationModule.java
new file mode 100644
index 000000000..a849c7ce0
--- /dev/null
+++ b/infra/it/memory-benchmark/src/main/java/io/fd/honeycomb/benchmark/memory/config/StaticActivationModule.java
@@ -0,0 +1,39 @@
+/*
+ * Copyright (c) 2017 Cisco and/or its affiliates.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at:
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package io.fd.honeycomb.benchmark.memory.config;
+
+import io.fd.honeycomb.infra.distro.activation.ActivationConfig;
+import io.fd.honeycomb.infra.distro.activation.ActivationModule;
+import io.fd.honeycomb.infra.distro.activation.ActiveModuleProvider;
+import io.fd.honeycomb.infra.distro.activation.ActiveModules;
+
+// TODO HONEYCOMB-383 - Use config files
+// Used to bind static configuration to DI
+public class StaticActivationModule extends ActivationModule {
+
+ private BindableCfgAttrsModule cfgAttrsModule;
+
+ public StaticActivationModule(final BindableCfgAttrsModule cfgAttrsModule) {
+ this.cfgAttrsModule = cfgAttrsModule;
+ }
+
+ @Override
+ protected void configure() {
+ install(cfgAttrsModule);
+ bind(ActivationConfig.class).toInstance(new StaticActivationConfig());
+ bind(ActiveModules.class).toProvider(ActiveModuleProvider.class).asEagerSingleton();
+ }
+}
diff --git a/infra/it/memory-benchmark/src/main/java/io/fd/honeycomb/benchmark/memory/config/StaticHoneycombConfiguration.java b/infra/it/memory-benchmark/src/main/java/io/fd/honeycomb/benchmark/memory/config/StaticHoneycombConfiguration.java
index 6bcf7ef68..03aac84b5 100644
--- a/infra/it/memory-benchmark/src/main/java/io/fd/honeycomb/benchmark/memory/config/StaticHoneycombConfiguration.java
+++ b/infra/it/memory-benchmark/src/main/java/io/fd/honeycomb/benchmark/memory/config/StaticHoneycombConfiguration.java
@@ -22,7 +22,6 @@ import java.io.Closeable;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
-import java.util.Optional;
/**
* Static configuration to prevent injecting of properties from json fles
@@ -33,15 +32,9 @@ public class StaticHoneycombConfiguration extends HoneycombConfiguration impleme
this.peristConfigPath = persistConfigPath;
this.peristContextPath = persistContextPath;
- this.username = "admin";
- this.password = "admin";
this.notificationServiceQueueDepth = 1;
- this.restconfBindingAddress = Optional.of("/restconf");
- this.restconfPort = Optional.of(8187);
- this.restconfBindingAddress = Optional.of("127.0.0.1");
this.persistedConfigRestorationType = "Merge";
this.persistedContextRestorationType = "Merge";
- this.restconfWebsocketPort = Optional.of(7890);
}
@Override
@@ -50,21 +43,6 @@ public class StaticHoneycombConfiguration extends HoneycombConfiguration impleme
}
@Override
- public boolean isRestconfHttpsEnabled() {
- return false;
- }
-
- @Override
- public boolean isRestconfHttpEnabled() {
- return true;
- }
-
- @Override
- public boolean isRestconfEnabled() {
- return true;
- }
-
- @Override
public boolean isNetconfTcpEnabled() {
return false;
}