diff options
author | Jon Bratseth <bratseth@yahoo-inc.com> | 2017-11-14 21:18:36 +0100 |
---|---|---|
committer | Jon Bratseth <bratseth@yahoo-inc.com> | 2017-11-14 21:18:36 +0100 |
commit | 24cb5c6c5242911d02a2804d3b7d78e20bcd852c (patch) | |
tree | d2762c3b9abc7ac59ceb45a025fc527857ee632b | |
parent | b87b4d9b74c68caac9e073d1a223d81233e551f7 (diff) |
Remove DelayedDeployer as it is covered by ReadyJobsTrigger
5 files changed, 5 insertions, 62 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 796437db3f8..d02fb9094d6 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 @@ -216,33 +216,6 @@ public class DeploymentTrigger { return false; } - /** Triggers jobs that have been delayed according to deployment spec */ - public void triggerDelayed() { - for (Application application : applications().asList()) { - if ( ! application.deploying().isPresent() ) continue; - if (application.deploymentJobs().hasFailures()) continue; - if (application.deploymentJobs().isRunning(controller.applications().deploymentTrigger().jobTimeoutLimit())) continue; - if (application.deploymentSpec().steps().stream().noneMatch(step -> step instanceof DeploymentSpec.Delay)) { - continue; // Application does not have any delayed deployments - } - - Optional<JobStatus> lastSuccessfulJob = application.deploymentJobs().jobStatus().values() - .stream() - .filter(j -> j.lastSuccess().isPresent()) - .sorted(Comparator.<JobStatus, Instant>comparing(j -> j.lastSuccess().get().at()).reversed()) - .findFirst(); - if ( ! lastSuccessfulJob.isPresent() ) continue; - - // Trigger next - try (Lock lock = applications().lock(application.id())) { - LockedApplication lockedApplication = applications().require(application.id(), lock); - lockedApplication = trigger(order.nextAfter(lastSuccessfulJob.get().type(), lockedApplication), - lockedApplication, "Resuming delayed deployment"); - applications().store(lockedApplication); - } - } - } - /** * Triggers a change of this application * diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/ControllerMaintenance.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/ControllerMaintenance.java index e29b25f9fb3..01edc269116 100644 --- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/ControllerMaintenance.java +++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/ControllerMaintenance.java @@ -28,7 +28,6 @@ public class ControllerMaintenance extends AbstractComponent { private final OutstandingChangeDeployer outstandingChangeDeployer; private final VersionStatusUpdater versionStatusUpdater; private final Upgrader upgrader; - private final DelayedDeployer delayedDeployer; private final ReadyJobsTrigger readyJobsTrigger; private final ClusterInfoMaintainer clusterInfoMaintainer; private final ClusterUtilizationMaintainer clusterUtilizationMaintainer; @@ -46,7 +45,6 @@ public class ControllerMaintenance extends AbstractComponent { outstandingChangeDeployer = new OutstandingChangeDeployer(controller, maintenanceInterval, jobControl); versionStatusUpdater = new VersionStatusUpdater(controller, Duration.ofMinutes(3), jobControl); upgrader = new Upgrader(controller, maintenanceInterval, jobControl, curator); - delayedDeployer = new DelayedDeployer(controller, maintenanceInterval, jobControl); readyJobsTrigger = new ReadyJobsTrigger(controller, maintenanceInterval, jobControl); clusterInfoMaintainer = new ClusterInfoMaintainer(controller, Duration.ofHours(2), jobControl); clusterUtilizationMaintainer = new ClusterUtilizationMaintainer(controller, Duration.ofHours(2), jobControl); @@ -66,7 +64,6 @@ public class ControllerMaintenance extends AbstractComponent { outstandingChangeDeployer.deconstruct(); versionStatusUpdater.deconstruct(); upgrader.deconstruct(); - delayedDeployer.deconstruct(); readyJobsTrigger.deconstruct(); clusterUtilizationMaintainer.deconstruct(); clusterInfoMaintainer.deconstruct(); diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/DelayedDeployer.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/DelayedDeployer.java deleted file mode 100644 index cb09c41a034..00000000000 --- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/DelayedDeployer.java +++ /dev/null @@ -1,24 +0,0 @@ -// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -package com.yahoo.vespa.hosted.controller.maintenance; - -import com.yahoo.vespa.hosted.controller.Controller; - -import java.time.Duration; - -/** - * Maintenance job which triggers jobs that have been delayed according to the applications deployment spec. - * - * @author mpolden - */ -public class DelayedDeployer extends Maintainer { - - public DelayedDeployer(Controller controller, Duration interval, JobControl jobControl) { - super(controller, interval, jobControl); - } - - @Override - protected void maintain() { - controller().applications().deploymentTrigger().triggerDelayed(); - } - -} diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/deployment/DeploymentTriggerTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/deployment/DeploymentTriggerTest.java index 7d9ba93f44b..10f8e80f318 100644 --- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/deployment/DeploymentTriggerTest.java +++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/deployment/DeploymentTriggerTest.java @@ -128,7 +128,7 @@ public class DeploymentTriggerTest { // 30 seconds pass, us-west-1 is triggered tester.clock().advance(Duration.ofSeconds(30)); - tester.deploymentTrigger().triggerDelayed(); + tester.deploymentTrigger().triggerReadyJobs(); // Consume us-west-1 job without reporting completion assertEquals(1, buildSystem.jobs().size()); @@ -137,7 +137,7 @@ public class DeploymentTriggerTest { // 3 minutes pass, delayed trigger does nothing as us-west-1 is still in progress tester.clock().advance(Duration.ofMinutes(3)); - tester.deploymentTrigger().triggerDelayed(); + tester.deploymentTrigger().triggerReadyJobs(); assertTrue("No more jobs triggered at this time", buildSystem.jobs().isEmpty()); // us-west-1 completes @@ -145,18 +145,18 @@ public class DeploymentTriggerTest { tester.notifyJobCompletion(JobType.productionUsWest1, application, true); // Delayed trigger does nothing as not enough time has passed after us-west-1 completion - tester.deploymentTrigger().triggerDelayed(); + tester.deploymentTrigger().triggerReadyJobs(); assertTrue("No more jobs triggered at this time", buildSystem.jobs().isEmpty()); // 3 minutes pass, us-central-1 is triggered tester.clock().advance(Duration.ofMinutes(3)); - tester.deploymentTrigger().triggerDelayed(); + tester.deploymentTrigger().triggerReadyJobs(); tester.deployAndNotify(application, applicationPackage, true, JobType.productionUsCentral1); assertTrue("All jobs consumed", buildSystem.jobs().isEmpty()); // Delayed trigger job runs again, with nothing to trigger tester.clock().advance(Duration.ofMinutes(10)); - tester.deploymentTrigger().triggerDelayed(); + tester.deploymentTrigger().triggerReadyJobs(); assertTrue("All jobs consumed", buildSystem.jobs().isEmpty()); } diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/controller/responses/maintenance.json b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/controller/responses/maintenance.json index b52a0da67ba..33b9d4c70d5 100644 --- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/controller/responses/maintenance.json +++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/controller/responses/maintenance.json @@ -7,9 +7,6 @@ "name": "ClusterUtilizationMaintainer" }, { - "name": "DelayedDeployer" - }, - { "name": "DeploymentExpirer" }, { |