aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/container/configserver/ConfigserverCluster.java1
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/container/configserver/option/CloudConfigOptions.java3
-rw-r--r--config-model/src/test/java/com/yahoo/vespa/model/container/configserver/TestOptions.java11
-rw-r--r--standalone-container/src/main/java/com/yahoo/container/standalone/CloudConfigInstallVariables.java6
4 files changed, 21 insertions, 0 deletions
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..4bec9123b77 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
@@ -86,6 +86,7 @@ public class ConfigserverCluster extends AbstractConfigProducer
}
builder.dynamicReconfiguration(options.hostedVespa().orElse(false));
+ builder.snapshotMethod(options.zooKeeperSnapshotMethod());
}
@Override
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/configserver/option/CloudConfigOptions.java b/config-model/src/main/java/com/yahoo/vespa/model/container/configserver/option/CloudConfigOptions.java
index f342aa1a2bf..7c52f216b01 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/container/configserver/option/CloudConfigOptions.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/container/configserver/option/CloudConfigOptions.java
@@ -21,11 +21,13 @@ public interface CloudConfigOptions {
Optional<Integer> rpcPort();
Optional<Boolean> multiTenant();
Optional<Boolean> hostedVespa();
+
ConfigServer[] allConfigServers();
int[] configServerZookeeperIds();
Optional<Integer> zookeeperClientPort();
String[] configModelPluginDirs();
Optional<Long> sessionLifeTimeSecs();
+
Optional<Long> zookeeperBarrierTimeout(); //in seconds
Optional<Integer> zookeeperElectionPort();
Optional<Integer> zookeeperQuorumPort();
@@ -37,4 +39,5 @@ public interface CloudConfigOptions {
Optional<String> loadBalancerAddress();
Optional<String> athenzDnsSuffix();
Optional<String> ztsUrl();
+ String zooKeeperSnapshotMethod();
}
diff --git a/config-model/src/test/java/com/yahoo/vespa/model/container/configserver/TestOptions.java b/config-model/src/test/java/com/yahoo/vespa/model/container/configserver/TestOptions.java
index 95c3262f2f5..fc7f8674149 100644
--- a/config-model/src/test/java/com/yahoo/vespa/model/container/configserver/TestOptions.java
+++ b/config-model/src/test/java/com/yahoo/vespa/model/container/configserver/TestOptions.java
@@ -3,6 +3,7 @@ package com.yahoo.vespa.model.container.configserver;
import com.yahoo.vespa.model.container.configserver.option.CloudConfigOptions;
+import java.util.Objects;
import java.util.Optional;
/**
@@ -17,6 +18,7 @@ public class TestOptions implements CloudConfigOptions {
private Optional<String> region = Optional.empty();
private Optional<Boolean> useVespaVersionInRequest = Optional.empty();
private Optional<Boolean> hostedVespa = Optional.empty();
+ private String zooKeeperSnapshotMethod = "";
@Override
public Optional<Integer> rpcPort() {
@@ -106,6 +108,9 @@ public class TestOptions implements CloudConfigOptions {
return Optional.empty();
}
+ @Override
+ public String zooKeeperSnapshotMethod() { return zooKeeperSnapshotMethod; }
+
public TestOptions configServers(ConfigServer[] configServers) {
this.configServers = configServers;
return this;
@@ -131,4 +136,10 @@ public class TestOptions implements CloudConfigOptions {
return this;
}
+ public TestOptions zooKeeperSnapshotMethod(String snapshotMethod) {
+ Objects.requireNonNull(snapshotMethod);
+ this.zooKeeperSnapshotMethod = snapshotMethod;
+ return this;
+ }
+
}
diff --git a/standalone-container/src/main/java/com/yahoo/container/standalone/CloudConfigInstallVariables.java b/standalone-container/src/main/java/com/yahoo/container/standalone/CloudConfigInstallVariables.java
index 5560a633f66..74aacceaf9e 100644
--- a/standalone-container/src/main/java/com/yahoo/container/standalone/CloudConfigInstallVariables.java
+++ b/standalone-container/src/main/java/com/yahoo/container/standalone/CloudConfigInstallVariables.java
@@ -126,6 +126,12 @@ public class CloudConfigInstallVariables implements CloudConfigOptions {
return getInstallVariable("zts_url");
}
+ @Override
+ public String zooKeeperSnapshotMethod() {
+ String vespaZookeeperSnapshotMethod = System.getenv("VESPA_ZOOKEEPER_SNAPSHOT_METHOD");
+ return vespaZookeeperSnapshotMethod == null ? "" : vespaZookeeperSnapshotMethod;
+ }
+
static ConfigServer[] toConfigServers(String configserversString) {
return multiValueParameterStream(configserversString)
.map(CloudConfigInstallVariables::toConfigServer)