diff options
author | Martin Polden <mpolden@mpolden.no> | 2018-10-25 12:37:20 +0200 |
---|---|---|
committer | Martin Polden <mpolden@mpolden.no> | 2018-10-25 12:37:20 +0200 |
commit | e4fbdc2b8574d79344a43563b8f1ddb3db130b21 (patch) | |
tree | ef8bd87bba2d6c4593b5948ecae8d9f425561196 /controller-server | |
parent | 8714fb78ce189089d7aa6438f7b0c875553366f3 (diff) |
Revert "Remove PR instances"
This reverts commit c49cdc0e0ef900cb4cda93bcfdb88692767ae46e.
Diffstat (limited to 'controller-server')
4 files changed, 0 insertions, 92 deletions
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 a00c2ccb4ed..33555c08a43 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 @@ -48,7 +48,6 @@ public class ControllerMaintenance extends AbstractComponent { private final OsVersionStatusUpdater osVersionStatusUpdater; private final JobRunner jobRunner; private final ContactInformationMaintainer contactInformationMaintainer; - private final DatabaseMaintainer databaseMaintainer; @SuppressWarnings("unused") // instantiated by Dependency Injection public ControllerMaintenance(MaintainerConfig maintainerConfig, ApiAuthorityConfig apiAuthorityConfig, Controller controller, CuratorDb curator, @@ -75,7 +74,6 @@ public class ControllerMaintenance extends AbstractComponent { osUpgraders = osUpgraders(controller, jobControl); osVersionStatusUpdater = new OsVersionStatusUpdater(controller, maintenanceInterval, jobControl); contactInformationMaintainer = new ContactInformationMaintainer(controller, Duration.ofHours(12), jobControl, organization, apiAuthorityConfig); - databaseMaintainer = new DatabaseMaintainer(controller, maintenanceInterval, jobControl); } public Upgrader upgrader() { return upgrader; } @@ -102,7 +100,6 @@ public class ControllerMaintenance extends AbstractComponent { osVersionStatusUpdater.deconstruct(); jobRunner.deconstruct(); contactInformationMaintainer.deconstruct(); - databaseMaintainer.deconstruct(); } /** Create one OS upgrader per cloud found in the zone registry of controller */ diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/DatabaseMaintainer.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/DatabaseMaintainer.java deleted file mode 100644 index ac368b00b82..00000000000 --- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/DatabaseMaintainer.java +++ /dev/null @@ -1,40 +0,0 @@ -// Copyright 2018 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.Application; -import com.yahoo.vespa.hosted.controller.Controller; - -import java.time.Duration; -import java.util.List; -import java.util.stream.Collectors; - -/** - * Runs maintenance operations for the controller database, such as removing stale entries. - * - * @author mpolden - */ -public class DatabaseMaintainer extends Maintainer { - - public DatabaseMaintainer(Controller controller, Duration interval, JobControl jobControl) { - super(controller, interval, jobControl); - } - - @Override - protected void maintain() { - removePullRequestInstances(); - } - - /** Pull request instances are no longer created. This removes all existing entries */ - // TODO: Remove after 2018-11-01 - // TODO: Remove ApplicationList#notPullRequest and its usages - private void removePullRequestInstances() { - List<Application> pullRequestInstances = controller().applications().asList().stream() - .filter(a -> a.id().instance().value().matches("^(default-pr)?\\d+$")) - .collect(Collectors.toList()); - - pullRequestInstances.forEach(application -> { - controller().applications().lockIfPresent(application.id(), (lockedApplication) -> controller().curator().removeApplication(lockedApplication.get().id())); - }); - } - -} diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/DatabaseMaintainerTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/DatabaseMaintainerTest.java deleted file mode 100644 index bdb55d0b546..00000000000 --- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/DatabaseMaintainerTest.java +++ /dev/null @@ -1,46 +0,0 @@ -// Copyright 2018 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.config.provision.ApplicationId; -import com.yahoo.config.provision.Environment; -import com.yahoo.vespa.hosted.controller.Application; -import com.yahoo.vespa.hosted.controller.application.ApplicationPackage; -import com.yahoo.vespa.hosted.controller.deployment.ApplicationPackageBuilder; -import com.yahoo.vespa.hosted.controller.deployment.DeploymentTester; -import org.junit.Test; - -import java.time.Duration; -import java.time.Instant; - -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertTrue; - -/** - * @author mpolden - */ -public class DatabaseMaintainerTest { - - @Test - public void remove_pull_request_instances() { - DeploymentTester tester = new DeploymentTester(); - DatabaseMaintainer maintainer = new DatabaseMaintainer(tester.controller(), Duration.ofDays(1), new JobControl(tester.controller().curator())); - - // Deploy regular application - Application app1 = tester.createApplication("app1", "tenant1", 1, 1); - ApplicationPackage applicationPackage = new ApplicationPackageBuilder() - .environment(Environment.prod) - .region("us-east-3") - .build(); - tester.deployCompletely(app1, applicationPackage); - - // Create pr instance (no longer permitted through ApplicationController so we have to cheat) - Application app2 = new Application(ApplicationId.from("tenant1", "app1", "default-pr1"), Instant.now()); - tester.controller().curator().writeApplication(app2); - assertTrue(tester.applications().get(app2.id()).isPresent()); - - maintainer.maintain(); - assertTrue("Regular application is not deleted", tester.applications().get(app1.id()).isPresent()); - assertFalse("PR instance is deleted", tester.applications().get(app2.id()).isPresent()); - } - -} 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 707b71b772f..6a71e524ae4 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 @@ -13,9 +13,6 @@ "name": "ContactInformationMaintainer" }, { - "name": "DatabaseMaintainer" - }, - { "name": "DefaultOsUpgrader" }, { |