diff options
author | Geir Storli <geirst@yahoo-inc.com> | 2017-04-26 11:42:44 +0200 |
---|---|---|
committer | Geir Storli <geirst@yahoo-inc.com> | 2017-04-26 11:42:44 +0200 |
commit | 60f6a774dfe8bb78d254f38b8173649ff2f4e1f8 (patch) | |
tree | 70aa3475637e88eeaf2a75afbac72462d347a4c6 /config-model/src/main/java/com/yahoo/config/model | |
parent | 1902441cbbb1391c9e4c75c5ddf252ed45b9d3a9 (diff) |
Tune proton config based on flavor if this is present for the search node.
Diffstat (limited to 'config-model/src/main/java/com/yahoo/config/model')
-rw-r--r-- | config-model/src/main/java/com/yahoo/config/model/provision/Host.java | 16 | ||||
-rw-r--r-- | config-model/src/main/java/com/yahoo/config/model/provision/InMemoryProvisioner.java | 4 |
2 files changed, 15 insertions, 5 deletions
diff --git a/config-model/src/main/java/com/yahoo/config/model/provision/Host.java b/config-model/src/main/java/com/yahoo/config/model/provision/Host.java index 360853d0f79..a030a8dde7a 100644 --- a/config-model/src/main/java/com/yahoo/config/model/provision/Host.java +++ b/config-model/src/main/java/com/yahoo/config/model/provision/Host.java @@ -2,9 +2,11 @@ package com.yahoo.config.model.provision; import com.google.common.collect.ImmutableList; +import com.yahoo.config.provision.Flavor; import java.util.ArrayList; import java.util.List; +import java.util.Optional; /** * A hostname with zero or more aliases. This is immutable. @@ -15,15 +17,20 @@ public class Host { private final String hostname; private final ImmutableList<String> aliases; + private final Optional<Flavor> flavor; public Host(String hostname) { - this.hostname = hostname; - this.aliases = ImmutableList.of(); + this(hostname, ImmutableList.of(), Optional.empty()); } public Host(String hostname, List<String> hostAliases) { + this(hostname, hostAliases, Optional.empty()); + } + + public Host(String hostname, List<String> hostAliases, Optional<Flavor> flavor) { this.hostname = hostname; this.aliases = ImmutableList.copyOf(hostAliases); + this.flavor = flavor; } public String hostname() { return hostname; } @@ -31,9 +38,12 @@ public class Host { /** Returns an immutable list of the aliases of this node, which may be empty but never null */ public List<String> aliases() { return aliases; } + public Optional<Flavor> flavor() { return flavor; } + @Override public String toString() { - return hostname + (aliases.size() > 0 ? " (aliases: " + aliases + ")" : "" ); + return hostname + (aliases.size() > 0 ? " (aliases: " + aliases + ")" : "" ) + + (flavor.isPresent() ? " (flavor: " + flavor.get() + ")" : ""); } } diff --git a/config-model/src/main/java/com/yahoo/config/model/provision/InMemoryProvisioner.java b/config-model/src/main/java/com/yahoo/config/model/provision/InMemoryProvisioner.java index c4ac4d91001..38bc3f39c62 100644 --- a/config-model/src/main/java/com/yahoo/config/model/provision/InMemoryProvisioner.java +++ b/config-model/src/main/java/com/yahoo/config/model/provision/InMemoryProvisioner.java @@ -88,7 +88,7 @@ public class InMemoryProvisioner implements HostProvisioner { List<Host> defaultHosts = freeNodes.get("default"); if (defaultHosts.isEmpty()) throw new IllegalArgumentException("No more hosts of default flavor available"); Host newHost = freeNodes.removeValue("default", 0); - HostSpec hostSpec = new HostSpec(newHost.hostname(), newHost.aliases()); + HostSpec hostSpec = new HostSpec(newHost.hostname(), newHost.aliases(), newHost.flavor(), Optional.empty()); legacyMapping.put(alias, hostSpec); return hostSpec; } @@ -142,7 +142,7 @@ public class InMemoryProvisioner implements HostProvisioner { if (freeNodes.get(flavor).isEmpty()) throw new IllegalArgumentException("Insufficient capacity of flavor '" + flavor + "'"); Host newHost = freeNodes.removeValue(flavor, 0); ClusterMembership membership = ClusterMembership.from(clusterGroup, nextIndex++); - allocation.add(new HostSpec(newHost.hostname(), newHost.aliases(), membership)); + allocation.add(new HostSpec(newHost.hostname(), newHost.aliases(), newHost.flavor(), Optional.of(membership))); } nextIndexInCluster.put(new Pair<>(clusterGroup.type(), clusterGroup.id()), nextIndex); |