summaryrefslogtreecommitdiffstats
path: root/node-repository
diff options
context:
space:
mode:
authorMartin Polden <mpolden@mpolden.no>2019-09-30 14:11:11 +0200
committerGitHub <noreply@github.com>2019-09-30 14:11:11 +0200
commit633d09e4b279aefc8fa3f47f7186072a7f1f8d30 (patch)
tree4a0c37a65ed2fee869ec8ab52506a60da1dab590 /node-repository
parentdd1921cc24239f1f1aa41daf13d2e42a9139216d (diff)
parent772b6252869f9485a53f58fa99fe1e5288c58f2e (diff)
Merge pull request #10817 from vespa-engine/mpolden/stop-reading-legacy-format
Remove support for legacy format
Diffstat (limited to 'node-repository')
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/os/OsVersion.java8
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/persistence/OsVersionsSerializer.java13
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/persistence/OsVersionsSerializerTest.java16
3 files changed, 9 insertions, 28 deletions
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/os/OsVersion.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/os/OsVersion.java
index 99945ce46e8..8719a80e578 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/os/OsVersion.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/os/OsVersion.java
@@ -16,7 +16,7 @@ public class OsVersion {
private final boolean active;
public OsVersion(Version version, boolean active) {
- this.version = version;
+ this.version = requireNonEmpty(version);
this.active = active;
}
@@ -49,4 +49,10 @@ public class OsVersion {
return "OS version " + version + " [active: " + active + "]";
}
+ private static Version requireNonEmpty(Version version) {
+ Objects.requireNonNull(version, "version must be non-null");
+ if (version.isEmpty()) throw new IllegalArgumentException("version must be non-empty");
+ return version;
+ }
+
}
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/persistence/OsVersionsSerializer.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/persistence/OsVersionsSerializer.java
index 26e59040b95..91f619ffa91 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/persistence/OsVersionsSerializer.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/persistence/OsVersionsSerializer.java
@@ -5,7 +5,6 @@ import com.yahoo.component.Version;
import com.yahoo.config.provision.NodeType;
import com.yahoo.slime.ObjectTraverser;
import com.yahoo.slime.Slime;
-import com.yahoo.slime.Type;
import com.yahoo.vespa.config.SlimeUtils;
import com.yahoo.vespa.hosted.provision.os.OsVersion;
@@ -45,16 +44,8 @@ public class OsVersionsSerializer {
var versions = new TreeMap<NodeType, OsVersion>(); // Use TreeMap to sort by node type
var inspector = SlimeUtils.jsonToSlime(data).get();
inspector.traverse((ObjectTraverser) (key, value) -> {
- Version version;
- boolean active;
- if (value.type() == Type.OBJECT) {
- version = Version.fromString(value.field(VERSION_FIELD).asString());
- active = value.field(ACTIVE_FIELD).asBool();
- } else {
- // TODO(mpolden): Remove support for legacy format after September 2019
- version = Version.fromString(value.asString());
- active = true;
- }
+ var version = Version.fromString(value.field(VERSION_FIELD).asString());
+ var active = value.field(ACTIVE_FIELD).asBool();
versions.put(NodeSerializer.nodeTypeFromString(key), new OsVersion(version, active));
});
return versions;
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/persistence/OsVersionsSerializerTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/persistence/OsVersionsSerializerTest.java
index b41958b36db..c6583292da8 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/persistence/OsVersionsSerializerTest.java
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/persistence/OsVersionsSerializerTest.java
@@ -6,7 +6,6 @@ import com.yahoo.config.provision.NodeType;
import com.yahoo.vespa.hosted.provision.os.OsVersion;
import org.junit.Test;
-import java.nio.charset.StandardCharsets;
import java.util.Map;
import static org.junit.Assert.assertEquals;
@@ -17,21 +16,6 @@ import static org.junit.Assert.assertEquals;
public class OsVersionsSerializerTest {
@Test
- public void legacy_format() {
- var json = "{\"host\":\"1.2.3\",\"proxyhost\":\"4.5.6\",\"confighost\":\"7.8.9\"}";
- var serializedFromString = OsVersionsSerializer.fromJson(json.getBytes(StandardCharsets.UTF_8));
- var versions = Map.of(
- NodeType.host, new OsVersion(Version.fromString("1.2.3"), true),
- NodeType.proxyhost, new OsVersion(Version.fromString("4.5.6"), true),
- NodeType.confighost, new OsVersion(Version.fromString("7.8.9"), true)
- );
- assertEquals(versions, serializedFromString);
-
- var serialized = OsVersionsSerializer.fromJson(OsVersionsSerializer.toJson(versions));
- assertEquals(serialized, versions);
- }
-
- @Test
public void serialization() {
var versions = Map.of(
NodeType.host, new OsVersion(Version.fromString("1.2.3"), true),