From 14a762ca09ff8ff9d29b2ae52618a1271c48b7d4 Mon Sep 17 00:00:00 2001 From: gjoranv Date: Wed, 27 Jul 2022 16:17:25 +0200 Subject: Don't install zkfacade and zookeeper-server bundles in metrics-proxy. --- .../admin/metricsproxy/MetricsProxyContainerCluster.java | 11 +++++++++-- .../com/yahoo/vespa/model/container/ContainerCluster.java | 1 + .../java/com/yahoo/vespa/model/container/PlatformBundles.java | 7 +++++-- .../admin/metricsproxy/MetricsProxyContainerClusterTest.java | 8 +++++++- 4 files changed, 22 insertions(+), 5 deletions(-) diff --git a/config-model/src/main/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainerCluster.java b/config-model/src/main/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainerCluster.java index 928630214f4..17f169033d3 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainerCluster.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainerCluster.java @@ -36,9 +36,9 @@ import com.yahoo.vespa.model.admin.monitoring.MetricSet; import com.yahoo.vespa.model.admin.monitoring.MetricsConsumer; import com.yahoo.vespa.model.admin.monitoring.Monitoring; import com.yahoo.vespa.model.container.ContainerCluster; +import com.yahoo.vespa.model.container.PlatformBundles; import com.yahoo.vespa.model.container.component.Handler; import com.yahoo.vespa.model.container.component.SystemBindingPattern; -import com.yahoo.vespa.model.container.PlatformBundles; import java.nio.file.Path; import java.util.Collections; @@ -47,6 +47,8 @@ import java.util.Map; import java.util.Optional; import java.util.Set; import java.util.logging.Logger; +import java.util.stream.Collectors; +import java.util.stream.Stream; import static com.yahoo.vespa.model.admin.metricsproxy.ConsumersConfigGenerator.addMetrics; import static com.yahoo.vespa.model.admin.metricsproxy.ConsumersConfigGenerator.generateConsumers; @@ -75,7 +77,12 @@ public class MetricsProxyContainerCluster extends ContainerCluster UNNECESSARY_BUNDLES = Collections.unmodifiableSet(PlatformBundles.VESPA_SECURITY_BUNDLES); + + private static final Set UNNECESSARY_BUNDLES = Stream.concat + ( + PlatformBundles.VESPA_SECURITY_BUNDLES.stream(), + PlatformBundles.VESPA_ZK_BUNDLES.stream() + ).collect(Collectors.toSet()); static final class AppDimensionNames { static final String SYSTEM = "system"; diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/ContainerCluster.java b/config-model/src/main/java/com/yahoo/vespa/model/container/ContainerCluster.java index 32bdf6e182e..7e375951c7f 100755 --- a/config-model/src/main/java/com/yahoo/vespa/model/container/ContainerCluster.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/container/ContainerCluster.java @@ -463,6 +463,7 @@ public abstract class ContainerCluster public void addCommonVespaBundles() { PlatformBundles.COMMON_VESPA_BUNDLES.forEach(this::addPlatformBundle); PlatformBundles.VESPA_SECURITY_BUNDLES.forEach(this::addPlatformBundle); + PlatformBundles.VESPA_ZK_BUNDLES.forEach(this::addPlatformBundle); } /** diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/PlatformBundles.java b/config-model/src/main/java/com/yahoo/vespa/model/container/PlatformBundles.java index cd2700d64e4..7ce82848d09 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/container/PlatformBundles.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/container/PlatformBundles.java @@ -35,8 +35,6 @@ public class PlatformBundles { // Bundles that must be loaded for all container types. public static final Set COMMON_VESPA_BUNDLES = toBundlePaths( "container-spifly.jar", // Aries SPIFly repackaged - "zkfacade", - "zookeeper-server", // TODO: not necessary in metrics-proxy. // Used by vespa-athenz, zkfacade, other vespa bundles and nearly all hosted apps. // TODO Vespa 9: stop installing and providing servlet-api. Seems difficult, though. "javax.servlet-api-3.1.0.jar" @@ -47,6 +45,11 @@ public class PlatformBundles { "vespa-athenz" ); + public static final Set VESPA_ZK_BUNDLES = toBundlePaths( + "zkfacade", + "zookeeper-server" + ); + public static final Set SEARCH_AND_DOCPROC_BUNDLES = toBundlePaths( SEARCH_AND_DOCPROC_BUNDLE, "container-search-gui", diff --git a/config-model/src/test/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainerClusterTest.java b/config-model/src/test/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainerClusterTest.java index 1b36ff0afe6..e378440312d 100644 --- a/config-model/src/test/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainerClusterTest.java +++ b/config-model/src/test/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainerClusterTest.java @@ -23,6 +23,7 @@ import org.junit.Test; import java.nio.file.Path; import java.util.Collection; import java.util.Set; +import java.util.stream.Stream; import static com.yahoo.vespa.model.admin.metricsproxy.MetricsProxyContainerCluster.METRICS_PROXY_BUNDLE_FILE; import static com.yahoo.vespa.model.admin.metricsproxy.MetricsProxyContainerCluster.zoneString; @@ -59,7 +60,12 @@ public class MetricsProxyContainerClusterTest { VespaModel model = getModel(servicesWithAdminOnly(), self_hosted); PlatformBundlesConfig config = model.getConfig(PlatformBundlesConfig.class, CLUSTER_CONFIG_ID); - Set unnecessaryBundles = PlatformBundles.VESPA_SECURITY_BUNDLES.stream().map(Path::toString).collect(toSet()); + Set unnecessaryBundles = Stream.concat + ( + PlatformBundles.VESPA_SECURITY_BUNDLES.stream(), + PlatformBundles.VESPA_ZK_BUNDLES.stream() + ).map(Path::toString).collect(toSet()); + assertTrue(config.bundlePaths().stream() .noneMatch(unnecessaryBundles::contains)); } -- cgit v1.2.3