aboutsummaryrefslogtreecommitdiffstats
path: root/config-model/src/main/java/com/yahoo/config
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@oath.com>2018-04-19 15:31:52 +0200
committerJon Bratseth <bratseth@oath.com>2018-04-19 15:31:52 +0200
commit7ac8f3b0f6cd3ff3e6556e69cc5aa97aa9ae76b9 (patch)
tree1e35300d77b8c6cc0d73b0fc6fa6ccf616f7ec90 /config-model/src/main/java/com/yahoo/config
parent1e0a2f24d4159edf46b5b457f07b33121d7e5bbf (diff)
Load the minimal set of models needed in dev
Diffstat (limited to 'config-model/src/main/java/com/yahoo/config')
-rw-r--r--config-model/src/main/java/com/yahoo/config/model/provision/Host.java10
-rw-r--r--config-model/src/main/java/com/yahoo/config/model/provision/InMemoryProvisioner.java10
-rw-r--r--config-model/src/main/java/com/yahoo/config/model/provision/SingleNodeProvisioner.java1
3 files changed, 17 insertions, 4 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 0374afe4e43..8c8debbae43 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,6 +2,7 @@
package com.yahoo.config.model.provision;
import com.google.common.collect.ImmutableList;
+import com.yahoo.component.Version;
import com.yahoo.config.provision.Flavor;
import java.util.ArrayList;
@@ -18,6 +19,7 @@ public class Host {
private final String hostname;
private final ImmutableList<String> aliases;
private final Optional<Flavor> flavor;
+ private final Optional<Version> version;
public Host(String hostname) {
this(hostname, ImmutableList.of(), Optional.empty());
@@ -28,9 +30,14 @@ public class Host {
}
public Host(String hostname, List<String> hostAliases, Optional<Flavor> flavor) {
+ this(hostname, hostAliases, flavor, Optional.empty());
+ }
+
+ public Host(String hostname, List<String> hostAliases, Optional<Flavor> flavor, Optional<Version> version) {
this.hostname = hostname;
this.aliases = ImmutableList.copyOf(hostAliases);
this.flavor = flavor;
+ this.version = version;
}
public String hostname() { return hostname; }
@@ -40,6 +47,9 @@ public class Host {
public Optional<Flavor> flavor() { return flavor; }
+ /** The current Vespa version running on this host, or empty if not known */
+ public Optional<Version> version() { return version; }
+
@Override
public String toString() {
return hostname + (aliases.size() > 0 ? " (aliases: " + aliases + ")" : "" ) +
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 2e1d507eea1..e6b89d7f390 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
@@ -103,7 +103,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(), newHost.flavor(), Optional.empty());
+ HostSpec hostSpec = new HostSpec(newHost.hostname(), newHost.aliases(), newHost.flavor(), Optional.empty(), newHost.version());
legacyMapping.put(alias, hostSpec);
return hostSpec;
}
@@ -148,7 +148,11 @@ public class InMemoryProvisioner implements HostProvisioner {
}
private HostSpec retire(HostSpec host) {
- return new HostSpec(host.hostname(), host.aliases(), host.membership().get().retire());
+ return new HostSpec(host.hostname(),
+ host.aliases(),
+ host.flavor(),
+ Optional.of(host.membership().get().retire()),
+ host.version());
}
private List<HostSpec> allocateHostGroup(ClusterSpec clusterGroup, String flavor, int nodesInGroup, int startIndex) {
@@ -160,7 +164,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(), newHost.flavor(), Optional.of(membership)));
+ allocation.add(new HostSpec(newHost.hostname(), newHost.aliases(), newHost.flavor(), Optional.of(membership), newHost.version()));
}
nextIndexInCluster.put(new Pair<>(clusterGroup.type(), clusterGroup.id()), nextIndex);
diff --git a/config-model/src/main/java/com/yahoo/config/model/provision/SingleNodeProvisioner.java b/config-model/src/main/java/com/yahoo/config/model/provision/SingleNodeProvisioner.java
index 99c079739b4..0af11fdb941 100644
--- a/config-model/src/main/java/com/yahoo/config/model/provision/SingleNodeProvisioner.java
+++ b/config-model/src/main/java/com/yahoo/config/model/provision/SingleNodeProvisioner.java
@@ -14,7 +14,6 @@ import java.util.List;
* application if one exists.
*
* @author hmusum
- * @since 5.11
*/
public class SingleNodeProvisioner implements HostProvisioner {