diff options
author | Jon Marius Venstad <venstad@gmail.com> | 2020-02-06 14:57:13 +0100 |
---|---|---|
committer | Jon Marius Venstad <venstad@gmail.com> | 2020-02-06 14:57:13 +0100 |
commit | c35cf98f6e308c178bd5755667854142fa62aeaf (patch) | |
tree | c86162125972985c1615508388ae286b9561f4d5 /controller-server | |
parent | b7d4e4643512f57845192fab5a1c5825e0995ef2 (diff) |
Show whether instance should be allowed to upgrade to given version
Diffstat (limited to 'controller-server')
3 files changed, 10 insertions, 0 deletions
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/application/JobControllerApiHandlerHelper.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/application/JobControllerApiHandlerHelper.java index d65c80204f1..ff1e1a8f151 100644 --- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/application/JobControllerApiHandlerHelper.java +++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/application/JobControllerApiHandlerHelper.java @@ -600,12 +600,16 @@ class JobControllerApiHandlerHelper { Cursor latestPlatformObject = latestVersionsObject.setObject("platform"); latestPlatformObject.setString("platform", latestPlatform.versionNumber().toFullString()); latestPlatformObject.setLong("at", latestPlatform.committedAt().toEpochMilli()); + latestPlatformObject.setBool("upgrade", application.require(stepStatus.instance()).productionDeployments().values().stream() + .anyMatch(deployment -> deployment.version().isBefore(latestPlatform.versionNumber()))); toSlime(latestPlatformObject.setArray("blockers"), blockers.stream().filter(ChangeBlocker::blocksVersions)); }); application.latestVersion().ifPresent(latestApplication -> { Cursor latestApplicationObject = latestVersionsObject.setObject("application"); toSlime(latestApplicationObject.setObject("application"), latestApplication); latestApplicationObject.setLong("at", latestApplication.buildTime().orElse(Instant.EPOCH).toEpochMilli()); + latestApplicationObject.setBool("upgrade", application.require(stepStatus.instance()).productionDeployments().values().stream() + .anyMatch(deployment -> deployment.applicationVersion().compareTo(latestApplication) < 0)); toSlime(latestApplicationObject.setArray("blockers"), blockers.stream().filter(ChangeBlocker::blocksRevisions)); }); } diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/deployment-overview-2.json b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/deployment-overview-2.json index d6f8f743af2..7f26ca536ca 100644 --- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/deployment-overview-2.json +++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/deployment-overview-2.json @@ -20,6 +20,7 @@ "platform": { "platform": "7.1.0", "at": 0, + "upgrade": true, "blockers": [] }, "application": { @@ -30,6 +31,7 @@ "commit": "commit1" }, "at": 1000, + "upgrade": true, "blockers": [] } } diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/deployment-overview.json b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/deployment-overview.json index 613a08d6760..3be78c294c7 100644 --- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/deployment-overview.json +++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/deployment-overview.json @@ -20,6 +20,7 @@ "platform": { "platform": "7.164.0", "at": "(ignore)", + "upgrade": false, "blockers": [] }, "application": { @@ -30,6 +31,7 @@ "commit": "commit1" }, "at": 1000, + "upgrade": false, "blockers": [] } } @@ -505,6 +507,7 @@ "platform": { "platform": "7.164.0", "at": "(ignore)", + "upgrade": false, "blockers": [] }, "application": { @@ -515,6 +518,7 @@ "commit": "commit1" }, "at": 1000, + "upgrade": false, "blockers": [] } } |