summaryrefslogtreecommitdiffstats
path: root/config-provisioning
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@yahoo-inc.com>2017-04-18 16:22:51 +0200
committerJon Bratseth <bratseth@yahoo-inc.com>2017-04-18 16:22:51 +0200
commit16b11bcc414e23d1f901a98d712212f1c7c9d2df (patch)
treefc74a733a085bdc68d5db0b230d715566537e56c /config-provisioning
parent352b828e91711ab1384213ad7f741d423688eeca (diff)
Always have wanted node version (WIP)
Diffstat (limited to 'config-provisioning')
-rw-r--r--config-provisioning/src/main/java/com/yahoo/config/provision/ClusterSpec.java27
-rw-r--r--config-provisioning/src/main/java/com/yahoo/config/provision/ProvisionInfo.java4
-rw-r--r--config-provisioning/src/test/java/com/yahoo/config/provision/ProvisionInfoTest.java2
3 files changed, 23 insertions, 10 deletions
diff --git a/config-provisioning/src/main/java/com/yahoo/config/provision/ClusterSpec.java b/config-provisioning/src/main/java/com/yahoo/config/provision/ClusterSpec.java
index 07b120bed73..ec655f0eee2 100644
--- a/config-provisioning/src/main/java/com/yahoo/config/provision/ClusterSpec.java
+++ b/config-provisioning/src/main/java/com/yahoo/config/provision/ClusterSpec.java
@@ -19,9 +19,9 @@ public final class ClusterSpec {
/** The group id of these hosts, or empty if this is represents a request for hosts */
private final Optional<Group> groupId;
- private final Optional<Version> vespaVersion;
+ private final Version vespaVersion;
- private ClusterSpec(Type type, Id id, Optional<Group> groupId, Optional<Version> vespaVersion) {
+ private ClusterSpec(Type type, Id id, Optional<Group> groupId, Version vespaVersion) {
this.type = type;
this.id = id;
this.groupId = groupId;
@@ -34,10 +34,10 @@ public final class ClusterSpec {
/** Returns the cluster id */
public Id id() { return id; }
- public Optional<Version> vespaVersion() { return vespaVersion; }
+ public Version vespaVersion() { return vespaVersion; }
- public Optional<String> dockerImage() {
- return vespaVersion.map(DockerImage.defaultImage::withTag).map(DockerImage::toString);
+ public String dockerImage() {
+ return DockerImage.defaultImage.withTag(vespaVersion).toString();
}
/** Returns the group within the cluster this specifies, or empty to specify the whole cluster */
@@ -53,20 +53,35 @@ public final class ClusterSpec {
}
/** Create a specification <b>requesting</b> a cluster with these attributes */
+ // TODO: April 2017 - Remove this when no version older than 6.97 is used anywhere
public static ClusterSpec requestVersion(Type type, Id id, Optional<Version> vespaVersion) {
+ return new ClusterSpec(type, id, Optional.empty(), vespaVersion.get());
+ }
+
+ public static ClusterSpec request(Type type, Id id, Version vespaVersion) {
return new ClusterSpec(type, id, Optional.empty(), vespaVersion);
}
/** Create a specification <b>specifying</b> an existing cluster group having these attributes */
+ // TODO: April 2017 - Remove this when no version older than 6.97 is used anywhere
public static ClusterSpec from(Type type, Id id, Group groupId, Optional<Version> vespaVersion) {
+ return new ClusterSpec(type, id, Optional.of(groupId), vespaVersion.get());
+ }
+
+ /** Create a specification <b>specifying</b> an existing cluster group having these attributes */
+ // TODO: April 2017 - Remove this when no version older than 6.97 is used anywhere
+ public static ClusterSpec from(Type type, Id id, Group groupId, Version vespaVersion) {
return new ClusterSpec(type, id, Optional.of(groupId), vespaVersion);
}
+ neste: - sørg for at ingen bruker deprecateds over
+ - gå tilbake til NodeSpecification og sørg for at version sendes inn der fra ModelContext
+
@Override
public String toString() {
return String.join(" ", type.toString(), id.toString(),
groupId.map(Group::toString).orElse(""),
- vespaVersion.orElse(Version.emptyVersion).toString());
+ vespaVersion.toString());
}
@Override
diff --git a/config-provisioning/src/main/java/com/yahoo/config/provision/ProvisionInfo.java b/config-provisioning/src/main/java/com/yahoo/config/provision/ProvisionInfo.java
index c5ccb7d2f58..cc7d871d23f 100644
--- a/config-provisioning/src/main/java/com/yahoo/config/provision/ProvisionInfo.java
+++ b/config-provisioning/src/main/java/com/yahoo/config/provision/ProvisionInfo.java
@@ -9,7 +9,6 @@ import com.yahoo.vespa.config.SlimeUtils;
import java.io.IOException;
import java.util.*;
-import java.util.logging.Logger;
/**
* Information about provisioned hosts, and (de)serialization (from)to JSON.
@@ -48,8 +47,7 @@ public class ProvisionInfo {
cursor.setString(hostSpecHostName, host.hostname());
if (host.membership().isPresent()) {
cursor.setString(hostSpecMembership, host.membership().get().stringValue());
- if (host.membership().get().cluster().dockerImage().isPresent())
- cursor.setString(dockerImage, host.membership().get().cluster().dockerImage().get());
+ cursor.setString(dockerImage, host.membership().get().cluster().dockerImage());
}
if (host.flavor().isPresent())
cursor.setString(hostSpecFlavor, host.flavor().get().name());
diff --git a/config-provisioning/src/test/java/com/yahoo/config/provision/ProvisionInfoTest.java b/config-provisioning/src/test/java/com/yahoo/config/provision/ProvisionInfoTest.java
index a6ccdb8536f..2538d687c1d 100644
--- a/config-provisioning/src/test/java/com/yahoo/config/provision/ProvisionInfoTest.java
+++ b/config-provisioning/src/test/java/com/yahoo/config/provision/ProvisionInfoTest.java
@@ -57,7 +57,7 @@ public class ProvisionInfoTest {
assertTrue(serializedInfo.getHosts().contains(h4));
assertTrue(!getHost(h1.hostname(), serializedInfo.getHosts()).membership().isPresent());
assertEquals("container/test/0", getHost(h3.hostname(), serializedInfo.getHosts()).membership().get().stringValue());
- assertEquals("docker-registry.ops.yahoo.com:4443/vespa/ci:6.42.1", getHost(h4.hostname(), serializedInfo.getHosts()).membership().get().cluster().dockerImage().get());
+ assertEquals("docker-registry.ops.yahoo.com:4443/vespa/ci:6.42.1", getHost(h4.hostname(), serializedInfo.getHosts()).membership().get().cluster().dockerImage());
}
private HostSpec getHost(String hostname, Set<HostSpec> hosts) {