diff options
author | Harald Musum <musum@oath.com> | 2018-03-18 13:19:18 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-03-18 13:19:18 +0100 |
commit | 0e114ffb01e8067bcc474665670cc1dfb90af9d2 (patch) | |
tree | 56bad65271dcae521d09f946e7d5e3018b424198 | |
parent | a7beed17a937f80e05a326356b38935728815682 (diff) | |
parent | 05607598655a2e76addcefe147f811451ae4797e (diff) |
Merge pull request #5370 from vespa-engine/hmusum/avoid-usingadd-cloud-to-Environment
Add cloud
11 files changed, 39 insertions, 37 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 94805e37105..dc1fb5639c2 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 @@ -41,6 +41,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 CLOUD = "CLOUD"; private static final String LOGSTASH_NODES = "LOGSTASH_NODES"; private static final String COREDUMP_FEED_ENDPOINT = "COREDUMP_FEED_ENDPOINT"; @@ -59,6 +60,7 @@ public class Environment { private final Optional<AthenzIdentity> athenzIdentity; private final NodeType nodeType; private final String defaultFlavor; + private final String cloud; static { filenameFormatter.setTimeZone(TimeZone.getTimeZone("UTC")); @@ -69,36 +71,17 @@ public class Environment { getEnvironmentVariable(ENVIRONMENT), getEnvironmentVariable(REGION), getEnvironmentVariable(SYSTEM), - + Defaults.getDefaults().vespaHostname(), + new InetAddressResolver(), new PathResolver(), + getLogstashNodesFromEnvironment(), Optional.of(getEnvironmentVariable(COREDUMP_FEED_ENDPOINT)), NodeType.host, - "d-2-8-50"); - } - - public Environment(ConfigServerConfig configServerConfig, - String hostedEnvironment, - String hostedRegion, - String hostedSystem, - PathResolver pathResolver, - Optional<String> coreDumpFeedEndpoint, - NodeType nodeType, - String defaultFlavor) { - this(configServerConfig, - hostedEnvironment, - hostedRegion, - hostedSystem, - Defaults.getDefaults().vespaHostname(), - new InetAddressResolver(), - pathResolver, - getLogstashNodesFromEnvironment(), - coreDumpFeedEndpoint, - nodeType, - defaultFlavor - ); + "d-2-8-50", + getEnvironmentVariable(CLOUD)); } - public Environment(ConfigServerConfig configServerConfig, + private Environment(ConfigServerConfig configServerConfig, String environment, String region, String system, @@ -108,7 +91,15 @@ public class Environment { List<String> logstashNodes, Optional<String> coreDumpFeedEndpoint, NodeType nodeType, - String defaultFlavor) { + String defaultFlavor, + String cloud) { + Objects.requireNonNull(configServerConfig, "configServerConfig cannot be null"); + Objects.requireNonNull(environment, "environment cannot be null"); + Objects.requireNonNull(region, "region cannot be null"); + Objects.requireNonNull(system, "system cannot be null"); + Objects.requireNonNull(defaultFlavor, "default flavor cannot be null"); + Objects.requireNonNull(cloud, "cloud cannot be null"); + this.configServerHostNames = configServerConfig.hosts(); this.configServerURIs = createConfigServerUris( configServerConfig.scheme(), @@ -136,6 +127,7 @@ public class Environment { this.coredumpFeedEndpoint = coreDumpFeedEndpoint; this.nodeType = nodeType; this.defaultFlavor = defaultFlavor; + this.cloud = cloud; } public List<String> getConfigServerHostNames() { return configServerHostNames; } @@ -168,7 +160,7 @@ public class Environment { return getEnvironment() + "." + getRegion(); } - public static List<URI> createConfigServerUris(String scheme, List<String> configServerHosts, int port) { + private static List<URI> createConfigServerUris(String scheme, List<String> configServerHosts, int port) { return configServerHosts.stream() .map(hostname -> URI.create(scheme + "://" + hostname + ":" + port)) .collect(Collectors.toList()); @@ -278,6 +270,8 @@ public class Environment { public String getDefaultFlavor() { return defaultFlavor; } + public String getCloud() { return cloud; } + public static class Builder { private ConfigServerConfig configServerConfig; private String environment; @@ -290,6 +284,7 @@ public class Environment { private Optional<String> coredumpFeedEndpoint = Optional.empty(); private NodeType nodeType = NodeType.tenant; private String defaultFlavor; + private String cloud; public Builder configServerConfig(ConfigServerConfig configServerConfig) { this.configServerConfig = configServerConfig; @@ -346,13 +341,12 @@ public class Environment { return this; } - public Environment build() { - Objects.requireNonNull(configServerConfig, "configServerConfig cannot be null"); - Objects.requireNonNull(environment, "environment cannot be null"); - Objects.requireNonNull(region, "region cannot be null"); - Objects.requireNonNull(system, "system cannot be null"); - Objects.requireNonNull(defaultFlavor, "default flavor cannot be null"); + public Builder cloud(String cloud) { + this.cloud = cloud; + return this; + } + public Environment build() { return new Environment(configServerConfig, environment, region, @@ -363,7 +357,8 @@ public class Environment { logstashNodes, coredumpFeedEndpoint, nodeType, - defaultFlavor); + defaultFlavor, + cloud); } } } 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 da23e1cb3c9..43cd4b0726f 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 @@ -342,6 +342,7 @@ public class DockerOperationsImpl implements DockerOperations { ContainerEnvironmentSettings settings = new ContainerEnvironmentSettings(); settings.set("configServerAddresses", environment.getConfigServerHostNames()); settings.set("nodeType", nodeSpec.nodeType); + settings.set("cloud", environment.getCloud()); try { return objectMapper.writeValueAsString(settings); diff --git a/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/containerdata/MotdContainerDataTest.java b/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/containerdata/MotdContainerDataTest.java index fe095cd0002..f7d16b5fc1d 100644 --- a/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/containerdata/MotdContainerDataTest.java +++ b/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/containerdata/MotdContainerDataTest.java @@ -39,6 +39,7 @@ public class MotdContainerDataTest { .environment("prod") .region("aws-us-east-1a") .defaultFlavor("cherry") + .cloud("mycloud") .build()); motdContainerData.writeTo((path, content) -> { diff --git a/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/containerdata/PromptContainerDataTest.java b/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/containerdata/PromptContainerDataTest.java index 4403b5bdad0..24ab35fc407 100644 --- a/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/containerdata/PromptContainerDataTest.java +++ b/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/containerdata/PromptContainerDataTest.java @@ -19,6 +19,7 @@ public class PromptContainerDataTest { .environment("prod") .region("aws-us-east-1a") .defaultFlavor("cherry") + .cloud("mycloud") .build()); promptContainerData.writeTo((path, content) -> { 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 81df3e52a21..357467122cb 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 @@ -35,6 +35,7 @@ public class DockerOperationsImplTest { .environment("prod") .system("main") .defaultFlavor("d-2-8-50") + .cloud("mycloud") .build(); private final Docker docker = mock(Docker.class); private final ProcessExecuter processExecuter = mock(ProcessExecuter.class); 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 daf87422b9d..74c82296a5b 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 @@ -67,6 +67,7 @@ public class DockerTester implements AutoCloseable { .system("main") .pathResolver(new PathResolver(pathToVespaHome, Paths.get("/tmp"), Paths.get("/tmp"))) .defaultFlavor("d-2-8-50") + .cloud("mycloud") .build(); Clock clock = Clock.systemUTC(); DockerOperations dockerOperations = new DockerOperationsImpl(dockerMock, environment, null, new IPAddressesImpl()); diff --git a/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/integrationTests/MultiDockerTest.java b/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/integrationTests/MultiDockerTest.java index b987150ea57..6dec010e972 100644 --- a/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/integrationTests/MultiDockerTest.java +++ b/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/integrationTests/MultiDockerTest.java @@ -16,7 +16,7 @@ import java.io.IOException; public class MultiDockerTest { @Test - public void test() throws InterruptedException, IOException { + public void test() throws InterruptedException { try (DockerTester dockerTester = new DockerTester()) { addAndWaitForNode(dockerTester, "host1.test.yahoo.com", new DockerImage("image1")); ContainerNodeSpec containerNodeSpec2 = addAndWaitForNode( 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 d4eb327439a..4d4938a6f5d 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 @@ -103,6 +103,7 @@ public class FilebeatConfigProviderTest { .system(system) .logstashNodes(logstashNodes) .defaultFlavor("d-2-8-50") + .cloud("mycloud") .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 f707b0f9f91..7de440ec4e7 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 @@ -42,6 +42,7 @@ public class StorageMaintainerTest { .system("main") .pathResolver(new PathResolver()) .defaultFlavor("d-2-8-50") + .cloud("mycloud") .build(); private final DockerOperations docker = mock(DockerOperations.class); private final ProcessExecuter processExecuter = mock(ProcessExecuter.class); 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 45bb4bbf720..a88f417b821 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 @@ -53,7 +53,6 @@ import static org.mockito.Mockito.doThrow; import static org.mockito.Mockito.inOrder; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.never; -import static org.mockito.Mockito.reset; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; @@ -92,6 +91,7 @@ public class NodeAgentImplTest { .inetAddressResolver(new InetAddressResolver()) .pathResolver(pathResolver) .defaultFlavor("d-2-8-50") + .cloud("mycloud") .build(); private final ContainerNodeSpec.Builder nodeSpecBuilder = new ContainerNodeSpec.Builder() @@ -302,7 +302,6 @@ public class NodeAgentImplTest { @Test public void failedNodeRunningContainerShouldStillBeRunning() { final long restartGeneration = 1; - final long rebootGeneration = 0; final ContainerNodeSpec nodeSpec = nodeSpecBuilder .wantedDockerImage(dockerImage) .currentDockerImage(dockerImage) 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 83edd573260..d5afd74af66 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 @@ -24,6 +24,7 @@ public class EnvironmentTest { .system("main") .pathResolver(new PathResolver()) .defaultFlavor("d-2-8-50") + .cloud("mycloud") .build(); @Test |