diff options
author | Martin Polden <mpolden@mpolden.no> | 2017-08-29 14:25:42 +0200 |
---|---|---|
committer | Martin Polden <mpolden@mpolden.no> | 2017-08-29 14:36:30 +0200 |
commit | 44cd92e6ff96b2e40c990fc18cad8c56a85fe73d (patch) | |
tree | 4398ecb1a765fc11cae4641f607bb7ed0493ad8b /controller-server | |
parent | 1aba6bd53e92db8349a8934b6743ad5b7a2b9c0a (diff) |
Fix serialization of legacy deploying value
Diffstat (limited to 'controller-server')
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)); } |