summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJon Marius Venstad <venstad@gmail.com>2019-12-20 08:33:08 +0100
committerJon Marius Venstad <venstad@gmail.com>2019-12-20 08:33:08 +0100
commit613fdf95af5ab8282aeeb3d082dfc9ce7687fe47 (patch)
tree6b9759d35fa0a8189a1efe300a46386424aac4bf
parent34974e29f39933b0885081e2f1a0702a92553071 (diff)
Fix total production job count (and resulting status) in deployment view API
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/application/JobControllerApiHandlerHelper.java23
1 files changed, 12 insertions, 11 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 3dcb3b61c5b..5406aeb0c61 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
@@ -201,10 +201,11 @@ class JobControllerApiHandlerHelper {
.filter(type -> ! type.isTest())
.filter(type -> controller.applications().deploymentTrigger().isComplete(Change.of(lastPlatform), change, instance, type, status.get(type)))
.count();
+ long total = productionJobs.stream().filter(type -> ! type.isTest()).count();
if (Optional.of(lastPlatform).equals(change.platform()))
- lastPlatformObject.setString("deploying", completed + " of " + productionJobs.stream().filter(type -> ! type.isTest()).count() + " complete");
- else if (completed == productionJobs.size())
- lastPlatformObject.setString("completed", completed + " of " + productionJobs.stream().filter(type -> ! type.isTest()).count() + " complete");
+ lastPlatformObject.setString("deploying", completed + " of " + total + " complete");
+ else if (completed == total)
+ lastPlatformObject.setString("completed", completed + " of " + total + " complete");
else if ( ! application.deploymentSpec().instances().stream()
.allMatch(spec -> spec.canUpgradeAt(controller.clock().instant()))) {
lastPlatformObject.setString("blocked", application.deploymentSpec().instances().stream()
@@ -221,18 +222,18 @@ class JobControllerApiHandlerHelper {
}
private static void lastApplicationToSlime(Cursor lastApplicationObject, Application application, Instance instance, Map<JobType, JobStatus> status, Change change, List<JobType> productionJobs, Controller controller) {
- long completed;
ApplicationVersion lastApplication = application.latestVersion().get();
applicationVersionToSlime(lastApplicationObject.setObject("application"), lastApplication);
lastApplicationObject.setLong("at", lastApplication.buildTime().get().toEpochMilli());
- completed = productionJobs.stream()
- .filter(type -> ! type.isTest())
- .filter(type -> controller.applications().deploymentTrigger().isComplete(Change.of(lastApplication), change, instance, type, status.get(type)))
- .count();
+ long completed = productionJobs.stream()
+ .filter(type -> ! type.isTest())
+ .filter(type -> controller.applications().deploymentTrigger().isComplete(Change.of(lastApplication), change, instance, type, status.get(type)))
+ .count();
+ long total = productionJobs.stream().filter(type -> ! type.isTest()).count();
if (Optional.of(lastApplication).equals(change.application()))
- lastApplicationObject.setString("deploying", completed + " of " + productionJobs.stream().filter(type -> ! type.isTest()).count() + " complete");
- else if (completed == productionJobs.size())
- lastApplicationObject.setString("completed", completed + " of " + productionJobs.stream().filter(type -> ! type.isTest()).count() + " complete");
+ lastApplicationObject.setString("deploying", completed + " of " + total + " complete");
+ else if (completed == total)
+ lastApplicationObject.setString("completed", completed + " of " + total + " complete");
else if ( ! application.deploymentSpec().instances().stream()
.allMatch(spec -> spec.canChangeRevisionAt(controller.clock().instant()))) {
lastApplicationObject.setString("blocked", application.deploymentSpec().instances().stream()