summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorValerij Fredriksen <freva@users.noreply.github.com>2018-02-26 14:55:00 +0100
committerGitHub <noreply@github.com>2018-02-26 14:55:00 +0100
commit41650f55100e53527d6dd2376b233a8c06e89fd7 (patch)
tree494a33cd11bd49588358c46465e20e840c320e10
parent78d0a367ca60417bd5bb86de5e58375b69fd27dc (diff)
parent2f02d7c7399086792eafe6e9c67bac4488d7d88e (diff)
Merge pull request #5150 from vespa-engine/hmusum/add-getter-for-config-server-hostnames-in-Environment
Make it possible to get config server hostnames
-rw-r--r--node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/component/Environment.java27
-rw-r--r--node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/docker/DockerOperationsImpl.java5
2 files changed, 16 insertions, 16 deletions
diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/component/Environment.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/component/Environment.java
index 0fe9cc97b0f..e6226e69dea 100644
--- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/component/Environment.java
+++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/component/Environment.java
@@ -30,7 +30,7 @@ import java.util.stream.Collectors;
/**
* Various utilities for getting values from node-admin's environment. Immutable.
*
- * @author bakksjo
+ * @author Øyvind Bakksjø
* @author hmusum
*/
public class Environment {
@@ -42,6 +42,7 @@ public class Environment {
private static final String LOGSTASH_NODES = "LOGSTASH_NODES";
private static final String COREDUMP_FEED_ENDPOINT = "COREDUMP_FEED_ENDPOINT";
+ private final List<String> configServerHostNames;
private final List<URI> configServerURIs;
private final String environment;
private final String region;
@@ -74,11 +75,7 @@ public class Environment {
PathResolver pathResolver,
Optional<String> coreDumpFeedEndpoint,
NodeType nodeType) {
- this(createConfigServerUris(
- configServerConfig.scheme(),
- configServerConfig.hosts(),
- configServerConfig.port()),
-
+ this(configServerConfig,
hostedEnvironment,
hostedRegion,
Defaults.getDefaults().vespaHostname(),
@@ -104,7 +101,7 @@ public class Environment {
);
}
- public Environment(List<URI> configServerURIs,
+ public Environment(ConfigServerConfig configServerConfig,
String environment,
String region,
String parentHostHostname,
@@ -116,7 +113,11 @@ public class Environment {
Optional<KeyStoreOptions> trustStoreOptions,
Optional<AthenzIdentity> athenzIdentity,
NodeType nodeType) {
- this.configServerURIs = configServerURIs;
+ this.configServerHostNames = configServerConfig.hosts();
+ this.configServerURIs = createConfigServerUris(
+ configServerConfig.scheme(),
+ configServerConfig.hosts(),
+ configServerConfig.port());
this.environment = environment;
this.region = region;
this.parentHostHostname = parentHostHostname;
@@ -130,6 +131,8 @@ public class Environment {
this.nodeType = nodeType;
}
+ public List<String> getConfigServerHostNames() { return configServerHostNames; }
+
public List<URI> getConfigServerUris() { return configServerURIs; }
public String getEnvironment() {
@@ -265,7 +268,7 @@ public class Environment {
public NodeType getNodeType() { return nodeType; }
public static class Builder {
- private List<URI> configServerURIs = Collections.emptyList();
+ ConfigServerConfig configServerConfig = new ConfigServerConfig(new ConfigServerConfig.Builder());
private String environment;
private String region;
private String parentHostHostname;
@@ -278,8 +281,8 @@ public class Environment {
private AthenzIdentity athenzIdentity;
private NodeType nodeType = NodeType.tenant;
- public Builder configServerUris(List<URI> uris) {
- configServerURIs = uris;
+ public Builder configServerConfig(ConfigServerConfig configServerConfig) {
+ this.configServerConfig = configServerConfig;
return this;
}
@@ -339,7 +342,7 @@ public class Environment {
}
public Environment build() {
- return new Environment(configServerURIs, environment, region, parentHostHostname,
+ return new Environment(configServerConfig, environment, region, parentHostHostname,
Optional.ofNullable(inetAddressResolver).orElseGet(InetAddressResolver::new),
Optional.ofNullable(pathResolver).orElseGet(PathResolver::new),
logstashNodes, feedEndpoint,
diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/docker/DockerOperationsImpl.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/docker/DockerOperationsImpl.java
index bc8a45f2dfb..d90d5b22eeb 100644
--- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/docker/DockerOperationsImpl.java
+++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/docker/DockerOperationsImpl.java
@@ -310,11 +310,8 @@ public class DockerOperationsImpl implements DockerOperations {
private String createContainerEnvironmentSettings(Environment environment, ContainerNodeSpec nodeSpec) {
ObjectMapper objectMapper = new ObjectMapper();
- String configServers = environment.getConfigServerUris().stream()
- .map(URI::getHost)
- .collect(Collectors.joining(","));
ContainerEnvironmentSettings settings = new ContainerEnvironmentSettings();
- settings.set("configServerAddresses", configServers);
+ settings.set("configServerAddresses", environment.getConfigServerHostNames());
settings.set("nodeType", nodeSpec.nodeType);
try {