diff options
author | Harald Musum <musum@verizonmedia.com> | 2022-12-14 11:48:08 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-12-14 11:48:08 +0100 |
commit | 97f52ec1e72f816c380d0bde609cc0f0789eec48 (patch) | |
tree | 90f4ca1d064d21b600322515ad3c8b3272dd9558 | |
parent | 9369342af1c29efd43825751f870cb9d789e99c3 (diff) |
Revert "Turn off dynamic reconfiguration for non-hosted config server [run-systemtest]"
7 files changed, 34 insertions, 47 deletions
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/admin/clustercontroller/ClusterControllerContainer.java b/config-model/src/main/java/com/yahoo/vespa/model/admin/clustercontroller/ClusterControllerContainer.java index 69accef2fe4..5d60cec0679 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/admin/clustercontroller/ClusterControllerContainer.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/admin/clustercontroller/ClusterControllerContainer.java @@ -65,8 +65,7 @@ public class ClusterControllerContainer extends Container implements "com.yahoo.vespa.clustercontroller.apps.clustercontroller.StateRestApiV2Handler", "/cluster/v2/*", CLUSTERCONTROLLER_BUNDLE); - addComponent(new AccessLogComponent(containerCluster().orElse(null), - AccessLogComponent.AccessLogType.jsonAccessLog, + addComponent(new AccessLogComponent(containerCluster().orElse(null), AccessLogComponent.AccessLogType.jsonAccessLog, deployState.featureFlags().logFileCompressionAlgorithm("zstd"), Optional.of("controller"), deployState.isHosted())); diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/ApplicationContainerCluster.java b/config-model/src/main/java/com/yahoo/vespa/model/container/ApplicationContainerCluster.java index c0182c2f5ac..ec1776730b8 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/container/ApplicationContainerCluster.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/container/ApplicationContainerCluster.java @@ -31,6 +31,7 @@ import com.yahoo.vespa.config.search.core.OnnxModelsConfig; import com.yahoo.vespa.config.search.core.RankingConstantsConfig; import com.yahoo.vespa.config.search.core.RankingExpressionsConfig; import com.yahoo.vespa.model.AbstractService; +import com.yahoo.vespa.model.VespaModel; import com.yahoo.vespa.model.admin.metricsproxy.MetricsProxyContainer; import com.yahoo.vespa.model.container.component.BindingPattern; import com.yahoo.vespa.model.container.component.Component; @@ -38,6 +39,7 @@ import com.yahoo.vespa.model.container.component.Handler; import com.yahoo.vespa.model.container.component.SystemBindingPattern; import com.yahoo.vespa.model.container.configserver.ConfigserverCluster; import com.yahoo.vespa.model.utils.FileSender; + import java.util.ArrayList; import java.util.Collection; import java.util.Collections; @@ -314,8 +316,8 @@ public final class ApplicationContainerCluster extends ContainerCluster<Applicat ! previousHosts.contains(container.getHostName())) .retired(container.isRetired()); builder.server(serverBuilder); + builder.dynamicReconfiguration(true); } - builder.dynamicReconfiguration(true); } @Override diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/configserver/ConfigserverCluster.java b/config-model/src/main/java/com/yahoo/vespa/model/container/configserver/ConfigserverCluster.java index 8f257110a04..a165b4862b5 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/container/configserver/ConfigserverCluster.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/container/configserver/ConfigserverCluster.java @@ -84,8 +84,6 @@ public class ConfigserverCluster extends AbstractConfigProducer if (options.hostedVespa().orElse(false)) { builder.vespaTlsConfigFile(Defaults.getDefaults().underVespaHome("var/zookeeper/conf/tls.conf.json")); } - - builder.dynamicReconfiguration(options.hostedVespa().orElse(false)); } @Override diff --git a/zookeeper-server/zookeeper-server-common/src/main/java/com/yahoo/vespa/zookeeper/Configurator.java b/zookeeper-server/zookeeper-server-common/src/main/java/com/yahoo/vespa/zookeeper/Configurator.java index af42e30422b..0ad4a4b8294 100644 --- a/zookeeper-server/zookeeper-server-common/src/main/java/com/yahoo/vespa/zookeeper/Configurator.java +++ b/zookeeper-server/zookeeper-server-common/src/main/java/com/yahoo/vespa/zookeeper/Configurator.java @@ -98,7 +98,7 @@ public class Configurator { sb.append("serverCnxnFactory=org.apache.zookeeper.server.VespaNettyServerCnxnFactory").append("\n"); sb.append("quorumListenOnAllIPs=true").append("\n"); sb.append("standaloneEnabled=false").append("\n"); - sb.append("reconfigEnabled=").append(config.dynamicReconfiguration()).append("\n"); + sb.append("reconfigEnabled=true").append("\n"); sb.append("skipACL=yes").append("\n"); ensureThisServerIsRepresented(config.myid(), config.server()); config.server().forEach(server -> sb.append(serverSpec(server, server.joining())).append("\n")); diff --git a/zookeeper-server/zookeeper-server-common/src/test/java/com/yahoo/vespa/zookeeper/ConfiguratorTest.java b/zookeeper-server/zookeeper-server-common/src/test/java/com/yahoo/vespa/zookeeper/ConfiguratorTest.java index 5d0031d5b55..6dcdc76a593 100644 --- a/zookeeper-server/zookeeper-server-common/src/test/java/com/yahoo/vespa/zookeeper/ConfiguratorTest.java +++ b/zookeeper-server/zookeeper-server-common/src/test/java/com/yahoo/vespa/zookeeper/ConfiguratorTest.java @@ -54,21 +54,26 @@ public class ConfiguratorTest { } @Test - public void config_is_written_correctly_with_one_server() { + public void config_is_written_correctly_when_one_server() { ZookeeperServerConfig.Builder builder = createConfigBuilderForSingleHost(cfgFile, idFile); new Configurator(builder.build()).writeConfigToDisk(VespaTlsConfig.tlsDisabled()); - validateConfigFileSingleHost(cfgFile, false); + validateConfigFileSingleHost(cfgFile); validateIdFile(idFile, "0\n"); } @Test - public void config_is_written_correctly_with_multiple_servers() { - three_config_servers(false); - } - - @Test - public void config_is_written_correctly_with_multiple_servers_on_hosted_vespa() { - three_config_servers(true); + public void config_is_written_correctly_when_multiple_servers() { + ZookeeperServerConfig.Builder builder = new ZookeeperServerConfig.Builder(); + builder.zooKeeperConfigFile(cfgFile.getAbsolutePath()); + builder.server(newServer(0, "foo", 123, 321, false)); + builder.server(newServer(1, "bar", 234, 432, false)); + builder.server(newServer(2, "baz", 345, 543, true)); + builder.myidFile(idFile.getAbsolutePath()); + builder.myid(1); + builder.tickTime(1234); + new Configurator(builder.build()).writeConfigToDisk(VespaTlsConfig.tlsDisabled()); + validateConfigFileMultipleHosts(cfgFile); + validateIdFile(idFile, "1\n"); } @Test @@ -76,7 +81,7 @@ public class ConfiguratorTest { ZookeeperServerConfig.Builder builder = createConfigBuilderForSingleHost(cfgFile, idFile); TlsContext tlsContext = createTlsContext(); new Configurator(builder.build()).writeConfigToDisk(new VespaTlsConfig(tlsContext, MixedMode.TLS_CLIENT_MIXED_SERVER)); - validateConfigFileTlsWithMixedMode(cfgFile, false); + validateConfigFileTlsWithMixedMode(cfgFile); } @Test @@ -84,7 +89,7 @@ public class ConfiguratorTest { ZookeeperServerConfig.Builder builder = createConfigBuilderForSingleHost(cfgFile, idFile); TlsContext tlsContext = createTlsContext(); new Configurator(builder.build()).writeConfigToDisk(new VespaTlsConfig(tlsContext, MixedMode.DISABLED)); - validateConfigFileTlsWithoutMixedMode(cfgFile, false); + validateConfigFileTlsWithoutMixedMode(cfgFile); } @Test(expected = RuntimeException.class) @@ -117,21 +122,6 @@ public class ConfiguratorTest { assertEquals("" + max_buffer, System.getProperty(ZOOKEEPER_JUTE_MAX_BUFFER)); } - private void three_config_servers(boolean hosted) { - ZookeeperServerConfig.Builder builder = new ZookeeperServerConfig.Builder(); - builder.zooKeeperConfigFile(cfgFile.getAbsolutePath()); - builder.server(newServer(0, "foo", 123, 321, false)); - builder.server(newServer(1, "bar", 234, 432, false)); - builder.server(newServer(2, "baz", 345, 543, true)); - builder.myidFile(idFile.getAbsolutePath()); - builder.myid(1); - builder.tickTime(1234); - builder.dynamicReconfiguration(hosted); - new Configurator(builder.build()).writeConfigToDisk(VespaTlsConfig.tlsDisabled()); - validateConfigFileMultipleHosts(cfgFile, hosted); - validateIdFile(idFile, "1\n"); - } - private ZookeeperServerConfig.Builder createConfigBuilderForSingleHost(File cfgFile, File idFile) { ZookeeperServerConfig.Builder builder = new ZookeeperServerConfig.Builder(); builder.zooKeeperConfigFile(cfgFile.getAbsolutePath()); @@ -157,7 +147,7 @@ public class ConfiguratorTest { assertEquals(expected, actual); } - private String commonConfig(boolean hosted) { + private String commonConfig() { return "tickTime=1234\n" + "initLimit=20\n" + "syncLimit=15\n" + @@ -171,13 +161,13 @@ public class ConfiguratorTest { "serverCnxnFactory=org.apache.zookeeper.server.VespaNettyServerCnxnFactory\n" + "quorumListenOnAllIPs=true\n" + "standaloneEnabled=false\n" + - "reconfigEnabled=" + hosted + "\n" + + "reconfigEnabled=true\n" + "skipACL=yes\n"; } - private void validateConfigFileSingleHost(File cfgFile, boolean hosted) { + private void validateConfigFileSingleHost(File cfgFile) { String expected = - commonConfig(hosted) + + commonConfig() + "server.0=foo:321:123;2181\n" + "sslQuorum=false\n" + "portUnification=false\n" + @@ -201,9 +191,9 @@ public class ConfiguratorTest { "ssl.clientAuth=NEED\n"; } - private void validateConfigFileMultipleHosts(File cfgFile, boolean hosted) { + private void validateConfigFileMultipleHosts(File cfgFile) { String expected = - commonConfig(hosted) + + commonConfig() + "server.0=foo:321:123;2181\n" + "server.1=bar:432:234;2181\n" + "server.2=baz:543:345:observer;2181\n" + @@ -214,9 +204,9 @@ public class ConfiguratorTest { } - private void validateConfigFileTlsWithMixedMode(File cfgFile, boolean hosted) { + private void validateConfigFileTlsWithMixedMode(File cfgFile) { String expected = - commonConfig(hosted) + + commonConfig() + "server.0=foo:321:123;2181\n" + "sslQuorum=true\n" + "portUnification=true\n" + @@ -226,9 +216,9 @@ public class ConfiguratorTest { validateConfigFile(cfgFile, expected); } - private void validateConfigFileTlsWithoutMixedMode(File cfgFile, boolean hosted) { + private void validateConfigFileTlsWithoutMixedMode(File cfgFile) { String expected = - commonConfig(hosted) + + commonConfig() + "server.0=foo:321:123;2181\n" + "sslQuorum=true\n" + "portUnification=false\n" + diff --git a/zookeeper-server/zookeeper-server/src/main/java/com/yahoo/vespa/zookeeper/ReconfigurableVespaZooKeeperServer.java b/zookeeper-server/zookeeper-server/src/main/java/com/yahoo/vespa/zookeeper/ReconfigurableVespaZooKeeperServer.java index a4c34416b4a..e94110af2fb 100644 --- a/zookeeper-server/zookeeper-server/src/main/java/com/yahoo/vespa/zookeeper/ReconfigurableVespaZooKeeperServer.java +++ b/zookeeper-server/zookeeper-server/src/main/java/com/yahoo/vespa/zookeeper/ReconfigurableVespaZooKeeperServer.java @@ -1,12 +1,13 @@ // Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.vespa.zookeeper; -import ai.vespa.validation.Validation; +import com.yahoo.component.annotation.Inject; import com.yahoo.cloud.config.ZookeeperServerConfig; import com.yahoo.component.AbstractComponent; -import com.yahoo.component.annotation.Inject; + import java.nio.file.Path; import java.time.Duration; +import java.util.concurrent.atomic.AtomicReference; /** * Starts or reconfigures zookeeper cluster. @@ -21,7 +22,6 @@ public class ReconfigurableVespaZooKeeperServer extends AbstractComponent implem @Inject public ReconfigurableVespaZooKeeperServer(Reconfigurer reconfigurer, ZookeeperServerConfig zookeeperServerConfig) { - Validation.require(true, zookeeperServerConfig.dynamicReconfiguration(), "dynamicReconfiguration must be true"); peer = reconfigurer.startOrReconfigure(zookeeperServerConfig, this, () -> peer = new VespaQuorumPeer()); } diff --git a/zookeeper-server/zookeeper-server/src/main/java/com/yahoo/vespa/zookeeper/VespaZooKeeperServerImpl.java b/zookeeper-server/zookeeper-server/src/main/java/com/yahoo/vespa/zookeeper/VespaZooKeeperServerImpl.java index 104af272bd3..48f95d28910 100644 --- a/zookeeper-server/zookeeper-server/src/main/java/com/yahoo/vespa/zookeeper/VespaZooKeeperServerImpl.java +++ b/zookeeper-server/zookeeper-server/src/main/java/com/yahoo/vespa/zookeeper/VespaZooKeeperServerImpl.java @@ -1,7 +1,6 @@ // Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.vespa.zookeeper; -import ai.vespa.validation.Validation; import com.yahoo.component.annotation.Inject; import com.yahoo.cloud.config.ZookeeperServerConfig; import com.yahoo.component.AbstractComponent; @@ -20,7 +19,6 @@ public class VespaZooKeeperServerImpl extends AbstractComponent implements Vespa @Inject public VespaZooKeeperServerImpl(ZookeeperServerConfig zookeeperServerConfig) { - Validation.require(false, zookeeperServerConfig.dynamicReconfiguration(), "dynamicReconfiguration must be false"); this.peer = new VespaQuorumPeer(); this.runner = new ZooKeeperRunner(zookeeperServerConfig, this); } |