summaryrefslogtreecommitdiffstats
path: root/controller-server
diff options
context:
space:
mode:
authorMartin Polden <mpolden@mpolden.no>2017-08-29 14:25:42 +0200
committerMartin Polden <mpolden@mpolden.no>2017-08-29 14:36:30 +0200
commit44cd92e6ff96b2e40c990fc18cad8c56a85fe73d (patch)
tree4398ecb1a765fc11cae4641f607bb7ed0493ad8b /controller-server
parent1aba6bd53e92db8349a8934b6743ad5b7a2b9c0a (diff)
Fix serialization of legacy deploying value
Diffstat (limited to 'controller-server')
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/ApplicationSerializer.java4
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/persistence/ApplicationSerializerTest.java36
2 files changed, 39 insertions, 1 deletions
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/ApplicationSerializer.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/ApplicationSerializer.java
index 04999f9e1c3..96c2f8ebbb9 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/ApplicationSerializer.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/ApplicationSerializer.java
@@ -12,6 +12,7 @@ import com.yahoo.slime.ArrayTraverser;
import com.yahoo.slime.Cursor;
import com.yahoo.slime.Inspector;
import com.yahoo.slime.Slime;
+import com.yahoo.slime.Type;
import com.yahoo.vespa.config.SlimeUtils;
import com.yahoo.vespa.hosted.controller.Application;
import com.yahoo.vespa.hosted.controller.application.ApplicationRevision;
@@ -229,7 +230,8 @@ public class ApplicationSerializer {
}
private Optional<Change> changeFromSlime(Inspector object) {
- if ( ! object.valid()) return Optional.empty();
+ // TODO: Remove NIX check after Sep 2017
+ if ( ! object.valid() || object.type() == Type.NIX) return Optional.empty();
Inspector versionFieldValue = object.field(versionField);
if (versionFieldValue.valid())
return Optional.of(new Change.VersionChange(Version.fromString(versionFieldValue.asString())));
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/persistence/ApplicationSerializerTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/persistence/ApplicationSerializerTest.java
index 20e3aae9114..836ea246f1a 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/persistence/ApplicationSerializerTest.java
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/persistence/ApplicationSerializerTest.java
@@ -133,6 +133,42 @@ public class ApplicationSerializerTest {
assertEquals(JobError.unknown, applicationWithFailingJob.deploymentJobs().jobStatus().get(DeploymentJobs.JobType.systemTest).jobError().get());
}
+ // TODO: Tests NIX check: Remove after Sep 2017
+ @Test
+ public void serializeLegacyDeployingField() {
+ String json = "{\n" +
+ " \"id\": \"t1:a1:i1\",\n" +
+ " \"deploymentSpecField\": \"<deployment version='1.0'/>\",\n" +
+ " \"deploymentJobs\": {\n" +
+ " \"projectId\": 123,\n" +
+ " \"jobStatus\": [\n" +
+ " {\n" +
+ " \"jobType\": \"system-test\",\n" +
+ " \"version\": \"5.6.7\",\n" +
+ " \"completionTime\": 7,\n" +
+ " \"lastTriggered\": 8\n" +
+ " },\n" +
+ " {\n" +
+ " \"jobType\": \"production-us-west-1\",\n" +
+ " \"version\": \"5.6.7\",\n" +
+ " \"completionTime\": 7,\n" +
+ " \"lastTriggered\": 8\n" +
+ " },\n" +
+ " {\n" +
+ " \"jobType\": \"staging-test\",\n" +
+ " \"version\": \"5.6.7\",\n" +
+ " \"completionTime\": 7,\n" +
+ " \"lastTriggered\": 8\n" +
+ " }\n" +
+ " ],\n" +
+ " \"selfTriggering\": false\n" +
+ " },\n" +
+ " \"deployingField\": null\n" +
+ "}\n";
+ Application app = applicationSerializer.fromSlime(SlimeUtils.jsonToSlime(json.getBytes(StandardCharsets.UTF_8)));
+ assertFalse("No change present", app.deploying().isPresent());
+ }
+
private Slime applicationSlime(boolean error) {
return SlimeUtils.jsonToSlime(applicationJson(error).getBytes(StandardCharsets.UTF_8));
}