diff options
author | Harald Musum <musum@oath.com> | 2018-03-12 13:35:27 +0100 |
---|---|---|
committer | Harald Musum <musum@oath.com> | 2018-03-12 13:35:27 +0100 |
commit | 065a35ac64c9ebcc8d9209e4d5a1a67c839b596b (patch) | |
tree | 3b4f8c13d8307f41ccbb86caceb9126266b2bfe3 | |
parent | 3dcbc8bd9783fb7836f3155ca353bd02b9cee836 (diff) |
Avoid hardcoding default flavor in config server container data
8 files changed, 30 insertions, 8 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 da7be1bff6d..4fb3049c39d 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 @@ -58,6 +58,7 @@ public class Environment { private final Optional<KeyStoreOptions> trustStoreOptions; private final Optional<AthenzIdentity> athenzIdentity; private final NodeType nodeType; + private final String defaultFlavor; static { filenameFormatter.setTimeZone(TimeZone.getTimeZone("UTC")); @@ -71,7 +72,8 @@ public class Environment { new PathResolver(), Optional.of(getEnvironmentVariable(COREDUMP_FEED_ENDPOINT)), - NodeType.host); + NodeType.host, + "d-2-8-50"); } public Environment(ConfigServerConfig configServerConfig, @@ -80,7 +82,8 @@ public class Environment { String hostedSystem, PathResolver pathResolver, Optional<String> coreDumpFeedEndpoint, - NodeType nodeType) { + NodeType nodeType, + String defaultFlavor) { this(configServerConfig, hostedEnvironment, hostedRegion, @@ -90,7 +93,8 @@ public class Environment { pathResolver, getLogstashNodesFromEnvironment(), coreDumpFeedEndpoint, - nodeType + nodeType, + defaultFlavor ); } @@ -103,7 +107,8 @@ public class Environment { PathResolver pathResolver, List<String> logstashNodes, Optional<String> feedEndpoint, - NodeType nodeType) { + NodeType nodeType, + String defaultFlavor) { this.configServerHostNames = configServerConfig.hosts(); this.configServerURIs = createConfigServerUris( configServerConfig.scheme(), @@ -132,6 +137,7 @@ public class Environment { this.logstashNodes = logstashNodes; this.feedEndpoint = feedEndpoint; this.nodeType = nodeType; + this.defaultFlavor = defaultFlavor; } public List<String> getConfigServerHostNames() { return configServerHostNames; } @@ -272,6 +278,8 @@ public class Environment { public NodeType getNodeType() { return nodeType; } + public String getDefaultFlavor() { return defaultFlavor; } + public static class Builder { private ConfigServerConfig configServerConfig; private String environment; @@ -283,6 +291,7 @@ public class Environment { private List<String> logstashNodes = Collections.emptyList(); private Optional<String> feedEndpoint = Optional.empty(); private NodeType nodeType = NodeType.tenant; + private String defaultFlavor; public Builder configServerConfig(ConfigServerConfig configServerConfig) { this.configServerConfig = configServerConfig; @@ -334,11 +343,17 @@ public class Environment { return this; } + public Builder defaultFlavor(String defaultFlavor) { + this.defaultFlavor = defaultFlavor; + 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"); return new Environment(configServerConfig, environment, @@ -349,7 +364,8 @@ public class Environment { Optional.ofNullable(pathResolver).orElseGet(PathResolver::new), logstashNodes, feedEndpoint, - nodeType); + nodeType, + defaultFlavor); } } } diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/containerdata/ConfigServerContainerData.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/containerdata/ConfigServerContainerData.java index a69fac508df..36da09a72aa 100644 --- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/containerdata/ConfigServerContainerData.java +++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/containerdata/ConfigServerContainerData.java @@ -37,8 +37,7 @@ public class ConfigServerContainerData { " <hostedVespa>true</hostedVespa>\n" + " <multitenant>true</multitenant>\n" + " <useVespaVersionInRequest>true</useVespaVersionInRequest>\n" + - // TODO: Avoid hardcoding of default flavor - " <defaultFlavor>t2.xlarge</defaultFlavor>\n" + + " <defaultFlavor>" + environment.getDefaultFlavor() + "</defaultFlavor>\n" + " <zookeeper>\n" + " <barrierTimeout>1200</barrierTimeout>\n" + " </zookeeper>\n" + 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 b0fc877bd88..81df3e52a21 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 @@ -34,6 +34,7 @@ public class DockerOperationsImplTest { .region("us-east-1") .environment("prod") .system("main") + .defaultFlavor("d-2-8-50") .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 7923a58ec47..daf87422b9d 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 @@ -66,6 +66,7 @@ public class DockerTester implements AutoCloseable { .environment("prod") .system("main") .pathResolver(new PathResolver(pathToVespaHome, Paths.get("/tmp"), Paths.get("/tmp"))) + .defaultFlavor("d-2-8-50") .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/logging/FilebeatConfigProviderTest.java b/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/logging/FilebeatConfigProviderTest.java index 9de88cbb8b3..d4eb327439a 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 @@ -102,6 +102,7 @@ public class FilebeatConfigProviderTest { .region(region) .system(system) .logstashNodes(logstashNodes) + .defaultFlavor("d-2-8-50") .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 cb7c22f1da9..9b618b9cf45 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 @@ -40,6 +40,7 @@ public class StorageMaintainerTest { .environment("prod") .system("main") .pathResolver(new PathResolver()) + .defaultFlavor("d-2-8-50") .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 6a93d4e3664..a97a11faab8 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 @@ -88,7 +88,9 @@ public class NodeAgentImplTest { .system("main") .parentHostHostname("parent.host.name.yahoo.com") .inetAddressResolver(new InetAddressResolver()) - .pathResolver(pathResolver).build(); + .pathResolver(pathResolver) + .defaultFlavor("d-2-8-50") + .build(); private final ContainerNodeSpec.Builder nodeSpecBuilder = new ContainerNodeSpec.Builder() .hostname(hostName) 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 80749e5d34b..83edd573260 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 @@ -23,6 +23,7 @@ public class EnvironmentTest { .environment("prod") .system("main") .pathResolver(new PathResolver()) + .defaultFlavor("d-2-8-50") .build(); @Test |