summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorValerij Fredriksen <freva@users.noreply.github.com>2018-02-27 10:38:10 +0100
committerGitHub <noreply@github.com>2018-02-27 10:38:10 +0100
commit2e70254963e067ee2eb67fc541ef2ff03f2a1fe6 (patch)
tree55b23107aea57db4c55b7befd5beada7fb1edd9a
parent4dedc978fd7794ababce488293b5bb5f056c28cc (diff)
parentbf4665b82ee1bcc56f5026ec35a4d40ae0eab840 (diff)
Merge pull request #5157 from vespa-engine/hmusum/add-system-to-Environment
Add hosted system to Environment
-rw-r--r--node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/component/Environment.java50
-rw-r--r--node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/docker/DockerOperationsImplTest.java8
-rw-r--r--node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/integrationTests/DockerTester.java6
-rw-r--r--node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/logging/FilebeatConfigProviderTest.java4
-rw-r--r--node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/maintenance/StorageMaintainerTest.java6
-rw-r--r--node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/nodeagent/NodeAgentImplTest.java1
-rw-r--r--node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/util/EnvironmentTest.java7
7 files changed, 65 insertions, 17 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 e6226e69dea..ef97e08d7f3 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
@@ -23,6 +23,7 @@ import java.util.Arrays;
import java.util.Collections;
import java.util.Date;
import java.util.List;
+import java.util.Objects;
import java.util.Optional;
import java.util.TimeZone;
import java.util.stream.Collectors;
@@ -39,6 +40,7 @@ public class Environment {
private static final String ENVIRONMENT = "ENVIRONMENT";
private static final String REGION = "REGION";
+ private static final String SYSTEM = "SYSTEM";
private static final String LOGSTASH_NODES = "LOGSTASH_NODES";
private static final String COREDUMP_FEED_ENDPOINT = "COREDUMP_FEED_ENDPOINT";
@@ -46,6 +48,7 @@ public class Environment {
private final List<URI> configServerURIs;
private final String environment;
private final String region;
+ private final String system;
private final String parentHostHostname;
private final InetAddressResolver inetAddressResolver;
private final PathResolver pathResolver;
@@ -62,8 +65,11 @@ public class Environment {
public Environment(ConfigServerConfig configServerConfig) {
this(configServerConfig,
+ // TODO: Are these three ever set? Does not look like they are. How can this work then?
getEnvironmentVariable(ENVIRONMENT),
getEnvironmentVariable(REGION),
+ getEnvironmentVariable(SYSTEM),
+
new PathResolver(),
Optional.of(getEnvironmentVariable(COREDUMP_FEED_ENDPOINT)),
NodeType.host);
@@ -72,12 +78,14 @@ public class Environment {
public Environment(ConfigServerConfig configServerConfig,
String hostedEnvironment,
String hostedRegion,
+ String hostedSystem,
PathResolver pathResolver,
Optional<String> coreDumpFeedEndpoint,
NodeType nodeType) {
this(configServerConfig,
hostedEnvironment,
hostedRegion,
+ hostedSystem,
Defaults.getDefaults().vespaHostname(),
new InetAddressResolver(),
pathResolver,
@@ -104,6 +112,7 @@ public class Environment {
public Environment(ConfigServerConfig configServerConfig,
String environment,
String region,
+ String system,
String parentHostHostname,
InetAddressResolver inetAddressResolver,
PathResolver pathResolver,
@@ -120,6 +129,7 @@ public class Environment {
configServerConfig.port());
this.environment = environment;
this.region = region;
+ this.system = system;
this.parentHostHostname = parentHostHostname;
this.inetAddressResolver = inetAddressResolver;
this.pathResolver = pathResolver;
@@ -135,14 +145,16 @@ public class Environment {
public List<URI> getConfigServerUris() { return configServerURIs; }
- public String getEnvironment() {
- return environment;
- }
+ public String getEnvironment() { return environment; }
public String getRegion() {
return region;
}
+ public String getSystem() {
+ return system;
+ }
+
public String getParentHostHostname() {
return parentHostHostname;
}
@@ -167,7 +179,7 @@ public class Environment {
private static List<String> getLogstashNodesFromEnvironment() {
String logstashNodes = System.getenv(LOGSTASH_NODES);
- if(Strings.isNullOrEmpty(logstashNodes)) {
+ if (Strings.isNullOrEmpty(logstashNodes)) {
return Collections.emptyList();
}
return Arrays.asList(logstashNodes.split("[,\\s]+"));
@@ -271,6 +283,7 @@ public class Environment {
ConfigServerConfig configServerConfig = new ConfigServerConfig(new ConfigServerConfig.Builder());
private String environment;
private String region;
+ private String system;
private String parentHostHostname;
private InetAddressResolver inetAddressResolver;
private PathResolver pathResolver;
@@ -296,6 +309,11 @@ public class Environment {
return this;
}
+ public Builder system(String system) {
+ this.system = system;
+ return this;
+ }
+
public Builder parentHostHostname(String parentHostHostname) {
this.parentHostHostname = parentHostHostname;
return this;
@@ -342,14 +360,22 @@ public class Environment {
}
public Environment build() {
- return new Environment(configServerConfig, environment, region, parentHostHostname,
- Optional.ofNullable(inetAddressResolver).orElseGet(InetAddressResolver::new),
- Optional.ofNullable(pathResolver).orElseGet(PathResolver::new),
- logstashNodes, feedEndpoint,
- Optional.ofNullable(keyStoreOptions),
- Optional.ofNullable(trustStoreOptions),
- Optional.ofNullable(athenzIdentity),
- nodeType);
+ Objects.requireNonNull(environment, "environment cannot be null");
+ Objects.requireNonNull(region, "region cannot be null");
+ Objects.requireNonNull(system, "system cannot be null");
+ return new Environment(configServerConfig,
+ environment,
+ region,
+ system,
+ parentHostHostname,
+ Optional.ofNullable(inetAddressResolver).orElseGet(InetAddressResolver::new),
+ Optional.ofNullable(pathResolver).orElseGet(PathResolver::new),
+ logstashNodes,
+ feedEndpoint,
+ Optional.ofNullable(keyStoreOptions),
+ Optional.ofNullable(trustStoreOptions),
+ Optional.ofNullable(athenzIdentity),
+ nodeType);
}
}
}
diff --git a/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/docker/DockerOperationsImplTest.java b/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/docker/DockerOperationsImplTest.java
index 034c9352a10..e2db9743412 100644
--- a/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/docker/DockerOperationsImplTest.java
+++ b/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/docker/DockerOperationsImplTest.java
@@ -27,7 +27,11 @@ import static org.mockito.Mockito.times;
import static org.mockito.Mockito.when;
public class DockerOperationsImplTest {
- private final Environment environment = new Environment.Builder().build();
+ private final Environment environment = new Environment.Builder()
+ .region("us-east-1")
+ .environment("prod")
+ .system("main")
+ .build();
private final Docker docker = mock(Docker.class);
private final ProcessExecuter processExecuter = mock(ProcessExecuter.class);
private final DockerOperationsImpl dockerOperations = new DockerOperationsImpl(docker, environment, processExecuter);
@@ -54,7 +58,7 @@ public class DockerOperationsImplTest {
}
@Test(expected = RuntimeException.class)
- public void processResultFromNodeProgramWhenNonZeroExitCode() throws Exception {
+ public void processResultFromNodeProgramWhenNonZeroExitCode() {
final ContainerName containerName = new ContainerName("container-name");
final ProcessResult actualResult = new ProcessResult(3, "output", "errors");
final String programPath = "/bin/command";
diff --git a/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/integrationTests/DockerTester.java b/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/integrationTests/DockerTester.java
index bacae51ab83..2968c1737a8 100644
--- a/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/integrationTests/DockerTester.java
+++ b/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/integrationTests/DockerTester.java
@@ -59,7 +59,11 @@ public class DockerTester implements AutoCloseable {
Environment environment = new Environment.Builder()
.inetAddressResolver(inetAddressResolver)
- .pathResolver(new PathResolver(pathToVespaHome, Paths.get("/tmp"), Paths.get("/tmp"))).build();
+ .region("us-east-1")
+ .environment("prod")
+ .system("main")
+ .pathResolver(new PathResolver(pathToVespaHome, Paths.get("/tmp"), Paths.get("/tmp")))
+ .build();
Clock clock = Clock.systemUTC();
DockerOperations dockerOperations = new DockerOperationsImpl(dockerMock, environment, null);
StorageMaintainerMock storageMaintainer = new StorageMaintainerMock(dockerOperations, null, environment, callOrderVerifier, clock);
diff --git a/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/logging/FilebeatConfigProviderTest.java b/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/logging/FilebeatConfigProviderTest.java
index ad50041ab69..0c24abe8b69 100644
--- a/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/logging/FilebeatConfigProviderTest.java
+++ b/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/logging/FilebeatConfigProviderTest.java
@@ -25,6 +25,7 @@ public class FilebeatConfigProviderTest {
private static final String instance = "default";
private static final String environment = "prod";
private static final String region = "us-north-1";
+ private static final String system = "main";
private static final List<String> logstashNodes = ImmutableList.of("logstash1", "logstash2");
@Test
@@ -43,6 +44,7 @@ public class FilebeatConfigProviderTest {
Environment env = new Environment.Builder()
.environment(environment)
.region(region)
+ .system(system)
.build();
FilebeatConfigProvider filebeatConfigProvider = new FilebeatConfigProvider(env);
@@ -81,6 +83,7 @@ public class FilebeatConfigProviderTest {
Environment environment = new Environment.Builder()
.environment(FilebeatConfigProviderTest.environment)
.region(region)
+ .system(system)
.logstashNodes(ImmutableList.of("unquoted", "\"quoted\""))
.build();
FilebeatConfigProvider filebeatConfigProvider = new FilebeatConfigProvider(environment);
@@ -104,6 +107,7 @@ public class FilebeatConfigProviderTest {
return new Environment.Builder()
.environment(environment)
.region(region)
+ .system(system)
.logstashNodes(logstashNodes)
.build();
}
diff --git a/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/maintenance/StorageMaintainerTest.java b/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/maintenance/StorageMaintainerTest.java
index 6aeafebaea7..9c21d7c92f2 100644
--- a/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/maintenance/StorageMaintainerTest.java
+++ b/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/maintenance/StorageMaintainerTest.java
@@ -34,7 +34,11 @@ import static org.mockito.Mockito.when;
public class StorageMaintainerTest {
private final ManualClock clock = new ManualClock();
private final Environment environment = new Environment.Builder()
- .pathResolver(new PathResolver()).build();
+ .region("us-east-1")
+ .environment("prod")
+ .system("main")
+ .pathResolver(new PathResolver())
+ .build();
private final DockerOperations docker = mock(DockerOperations.class);
private final ProcessExecuter processExecuter = mock(ProcessExecuter.class);
private final StorageMaintainer storageMaintainer = new StorageMaintainer(docker, processExecuter,
diff --git a/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/nodeagent/NodeAgentImplTest.java b/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/nodeagent/NodeAgentImplTest.java
index 45375586a57..693a919ff12 100644
--- a/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/nodeagent/NodeAgentImplTest.java
+++ b/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/nodeagent/NodeAgentImplTest.java
@@ -81,6 +81,7 @@ public class NodeAgentImplTest {
private final Environment environment = new Environment.Builder()
.environment("dev")
.region("us-east-1")
+ .system("main")
.parentHostHostname("parent.host.name.yahoo.com")
.inetAddressResolver(new InetAddressResolver())
.pathResolver(pathResolver).build();
diff --git a/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/util/EnvironmentTest.java b/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/util/EnvironmentTest.java
index 826fc192f6d..4208388f2bd 100644
--- a/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/util/EnvironmentTest.java
+++ b/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/util/EnvironmentTest.java
@@ -16,7 +16,12 @@ import static org.junit.Assert.assertEquals;
* @author freva
*/
public class EnvironmentTest {
- private final Environment environment = new Environment.Builder().pathResolver(new PathResolver()).build();
+ private final Environment environment = new Environment.Builder()
+ .region("us-east-1")
+ .environment("prod")
+ .system("main")
+ .pathResolver(new PathResolver())
+ .build();
@Test
public void testPathInNodeToPathInNodeAdminAndHost() {