diff options
author | Jon Marius Venstad <jvenstad@yahoo-inc.com> | 2018-09-13 10:55:57 +0200 |
---|---|---|
committer | Jon Marius Venstad <jvenstad@yahoo-inc.com> | 2018-09-13 10:55:57 +0200 |
commit | 654fd693bdaee338837499f2b480573576e65d3b (patch) | |
tree | 3e54bc26994e24945f8c749083a5b6eeeb2b4e7c /controller-server | |
parent | 09dc37cf0b3585b92fc5c0d480f8c640d2df303c (diff) |
Correct isComplete to work also when jobs are running (and have deployed)
Diffstat (limited to 'controller-server')
-rw-r--r-- | controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/DeploymentTrigger.java | 7 |
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) { |