From ed17fa3c3da9620ff02111d9c6e0abb44b3894f5 Mon Sep 17 00:00:00 2001 From: jonmv Date: Mon, 25 Apr 2022 08:35:50 +0200 Subject: Show all deployable revisions in deployment graph dropdown --- .../application/JobControllerApiHandlerHelper.java | 13 +++---------- .../application/responses/deployment-overview-2.json | 16 ++++++++++++++++ .../application/responses/deployment-overview.json | 8 ++++++++ 3 files changed, 27 insertions(+), 10 deletions(-) (limited to 'controller-server') 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 fac883299e3..3ce7aca971b 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 @@ -316,20 +316,13 @@ class JobControllerApiHandlerHelper { Cursor latestApplicationObject = latestVersionsObject.setObject("application"); toSlime(latestApplicationObject.setObject("application"), latestApplication); latestApplicationObject.setLong("at", latestApplication.buildTime().orElse(Instant.EPOCH).toEpochMilli()); - latestApplicationObject.setBool("upgrade", change.revision().map(latestApplication.id()::compareTo).orElse(1) > 0 && deployments.isEmpty() + latestApplicationObject.setBool("upgrade", change.revision().map(latestApplication.id()::compareTo).orElse(1) > 0 && deployments.isEmpty() || deployments.stream().anyMatch(deployment -> deployment.revision().compareTo(latestApplication.id()) < 0)); Cursor availableArray = latestApplicationObject.setArray("available"); - for (ApplicationVersion available : availableApplications) { - if ( deployments.stream().anyMatch(deployment -> deployment.revision().compareTo(available.id()) > 0) - || deployments.stream().noneMatch(deployment -> deployment.revision().compareTo(available.id()) < 0) && ! deployments.isEmpty() - || status.hasCompleted(stepStatus.instance(), Change.of(available.id())) - || change.revision().map(available.id()::compareTo).orElse(1) <= 0) - break; - + for (ApplicationVersion available : availableApplications) toSlime(availableArray.addObject().setObject("application"), available); - } - change.revision().ifPresent(revision -> toSlime(availableArray.addObject().setObject("application"), application.revisions().get(revision))); + 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 e4c6ab34288..3c6e55ae195 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 @@ -95,6 +95,22 @@ "sourceUrl": "repository1/tree/commit1", "commit": "commit1" } + }, + { + "application": { + "build": 2, + "compileVersion": "6.1.0", + "sourceUrl": "repository1/tree/commit1", + "commit": "commit1" + } + }, + { + "application": { + "build": 1, + "compileVersion": "6.1.0", + "sourceUrl": "repository1/tree/commit1", + "commit": "commit1" + } } ], "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 f129429fbb7..037a7085eaf 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 @@ -46,6 +46,14 @@ "sourceUrl": "repository1/tree/commit1", "commit": "commit1" } + }, + { + "application": { + "build": 1, + "compileVersion": "6.1.0", + "sourceUrl": "repository1/tree/commit1", + "commit": "commit1" + } } ], "blockers": [ ] -- cgit v1.2.3