diff options
author | Jon Bratseth <bratseth@yahoo-inc.com> | 2017-04-18 16:22:51 +0200 |
---|---|---|
committer | Jon Bratseth <bratseth@yahoo-inc.com> | 2017-04-18 16:22:51 +0200 |
commit | 16b11bcc414e23d1f901a98d712212f1c7c9d2df (patch) | |
tree | fc74a733a085bdc68d5db0b230d715566537e56c /config-provisioning | |
parent | 352b828e91711ab1384213ad7f741d423688eeca (diff) |
Always have wanted node version (WIP)
Diffstat (limited to 'config-provisioning')
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) { |