summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJon Marius Venstad <jvenstad@yahoo-inc.com>2018-09-13 10:55:57 +0200
committerJon Marius Venstad <jvenstad@yahoo-inc.com>2018-09-13 10:55:57 +0200
commit654fd693bdaee338837499f2b480573576e65d3b (patch)
tree3e54bc26994e24945f8c749083a5b6eeeb2b4e7c
parent09dc37cf0b3585b92fc5c0d480f8c640d2df303c (diff)
Correct isComplete to work also when jobs are running (and have deployed)
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/DeploymentTrigger.java7
1 files changed, 5 insertions, 2 deletions
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/DeploymentTrigger.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/DeploymentTrigger.java
index becef782519..2284b82bcfb 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/DeploymentTrigger.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/DeploymentTrigger.java
@@ -412,10 +412,13 @@ public class DeploymentTrigger {
*/
public boolean isComplete(Change change, Application application, JobType jobType) {
Optional<Deployment> existingDeployment = deploymentFor(application, jobType);
- return successOn(application, jobType, Versions.from(change, application, existingDeployment, controller.systemVersion())).isPresent()
+ return application.deploymentJobs().statusOf(jobType).flatMap(JobStatus::lastSuccess)
+ .map(job -> change.platform().map(job.platform()::equals).orElse(true)
+ && change.application().map(job.application()::equals).orElse(true))
+ .orElse(false)
|| jobType.isProduction()
&& existingDeployment.map(deployment -> ! isUpgrade(change, deployment) && isDowngrade(application.change(), deployment))
- .orElse(false);
+ .orElse(false);
}
private static boolean isUpgrade(Change change, Deployment deployment) {