summaryrefslogtreecommitdiffstats
path: root/controller-server
diff options
context:
space:
mode:
authorOla Aunrønning <olaa@verizonmedia.com>2020-12-07 12:19:06 +0100
committerOla Aunrønning <olaa@verizonmedia.com>2020-12-07 12:19:06 +0100
commit1a38d62b198755f7aeab8802bdf266ac0bbb0246 (patch)
treebf620b9db2f4c4c5ab749a63b01b7b5211382796 /controller-server
parente6a9795a63f8e644d01b01adde588dac2bea0a1d (diff)
Move repair maintainer
Diffstat (limited to 'controller-server')
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/ControllerMaintenance.java5
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/HostRepairMaintainer.java66
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/integration/ServiceRegistryMock.java7
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/HostRepairMaintainerTest.java44
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/controller/responses/maintenance.json3
5 files changed, 0 insertions, 125 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 be4c889cd75..1dd84cfc7b4 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
@@ -50,7 +50,6 @@ public class ControllerMaintenance extends AbstractComponent {
private final ResourceTagMaintainer resourceTagMaintainer;
private final SystemRoutingPolicyMaintainer systemRoutingPolicyMaintainer;
private final ApplicationMetaDataGarbageCollector applicationMetaDataGarbageCollector;
- private final HostRepairMaintainer hostRepairMaintainer;
private final ContainerImageExpirer containerImageExpirer;
private final HostSwitchUpdater hostSwitchUpdater;
@@ -80,7 +79,6 @@ public class ControllerMaintenance extends AbstractComponent {
resourceTagMaintainer = new ResourceTagMaintainer(controller, intervals.resourceTagMaintainer, controller.serviceRegistry().resourceTagger());
systemRoutingPolicyMaintainer = new SystemRoutingPolicyMaintainer(controller, intervals.systemRoutingPolicyMaintainer);
applicationMetaDataGarbageCollector = new ApplicationMetaDataGarbageCollector(controller, intervals.applicationMetaDataGarbageCollector);
- hostRepairMaintainer = new HostRepairMaintainer(controller, intervals.hostRepairMaintainer);
containerImageExpirer = new ContainerImageExpirer(controller, intervals.containerImageExpirer);
hostSwitchUpdater = new HostSwitchUpdater(controller, intervals.hostSwitchUpdater);
}
@@ -111,7 +109,6 @@ public class ControllerMaintenance extends AbstractComponent {
resourceTagMaintainer.close();
systemRoutingPolicyMaintainer.close();
applicationMetaDataGarbageCollector.close();
- hostRepairMaintainer.close();
containerImageExpirer.close();
hostSwitchUpdater.close();
}
@@ -149,7 +146,6 @@ public class ControllerMaintenance extends AbstractComponent {
private final Duration resourceTagMaintainer;
private final Duration systemRoutingPolicyMaintainer;
private final Duration applicationMetaDataGarbageCollector;
- private final Duration hostRepairMaintainer;
private final Duration containerImageExpirer;
private final Duration hostSwitchUpdater;
@@ -172,7 +168,6 @@ public class ControllerMaintenance extends AbstractComponent {
this.resourceTagMaintainer = duration(30, MINUTES);
this.systemRoutingPolicyMaintainer = duration(10, MINUTES);
this.applicationMetaDataGarbageCollector = duration(12, HOURS);
- this.hostRepairMaintainer = duration(12, HOURS);
this.containerImageExpirer = duration(2, HOURS);
this.hostSwitchUpdater = duration(12, HOURS);
}
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/HostRepairMaintainer.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/HostRepairMaintainer.java
deleted file mode 100644
index 57727e64e30..00000000000
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/HostRepairMaintainer.java
+++ /dev/null
@@ -1,66 +0,0 @@
-// Copyright Verizon Media. 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.CloudName;
-import com.yahoo.config.provision.SystemName;
-import com.yahoo.config.provision.zone.ZoneApi;
-import com.yahoo.vespa.hosted.controller.Controller;
-import com.yahoo.vespa.hosted.controller.api.integration.configserver.Node;
-import com.yahoo.vespa.hosted.controller.api.integration.configserver.NodeRepository;
-import com.yahoo.vespa.hosted.controller.api.integration.repair.RepairTicketReport;
-import com.yahoo.vespa.hosted.controller.api.integration.repair.HostRepairClient;
-import com.yahoo.yolean.Exceptions;
-
-import java.time.Duration;
-import java.util.concurrent.atomic.AtomicInteger;
-import java.util.function.Predicate;
-import java.util.logging.Logger;
-import java.util.stream.Collectors;
-
-import static com.yahoo.yolean.Exceptions.uncheck;
-
-/**
- *
- * Responsible for keeping track of hosts under repair.
- *
- * @author olaa
- */
-public class HostRepairMaintainer extends ControllerMaintainer {
-
- private final NodeRepository nodeRepository;
- private final HostRepairClient repairClient;
-
- private static final Logger log = Logger.getLogger(HostRepairMaintainer.class.getName());
-
-
- public HostRepairMaintainer(Controller controller, Duration interval) {
- super(controller, interval, null, SystemName.allOf(Predicate.not(SystemName::isPublic)));
- this.nodeRepository = controller.serviceRegistry().configServer().nodeRepository();
- this.repairClient = controller.serviceRegistry().hostRepairClient();
- }
-
-
- @Override
- protected boolean maintain() {
- AtomicInteger exceptions = new AtomicInteger(0);
-
- controller().zoneRegistry().zones()
- .reachable().zones().stream()
- .forEach(zoneApi -> {
- var breakfixedNodes = nodeRepository.list((zoneApi).getId())
- .stream()
- .filter(node -> node.state() == Node.State.breakfixed)
- .collect(Collectors.toList());
- try {
- repairClient.updateRepairStatus(zoneApi, breakfixedNodes);
- } catch (Exception e) {
- log.warning("Failed to update repair status; " + Exceptions.toMessageString(e));
- exceptions.incrementAndGet();
- }
- }
- );
-
- return exceptions.get() == 0;
- }
-
-}
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/integration/ServiceRegistryMock.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/integration/ServiceRegistryMock.java
index 96eb4b39510..ae1e2c38e6a 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/integration/ServiceRegistryMock.java
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/integration/ServiceRegistryMock.java
@@ -19,7 +19,6 @@ import com.yahoo.vespa.hosted.controller.api.integration.dns.MemoryNameService;
import com.yahoo.vespa.hosted.controller.api.integration.entity.MemoryEntityService;
import com.yahoo.vespa.hosted.controller.api.integration.organization.MockContactRetriever;
import com.yahoo.vespa.hosted.controller.api.integration.organization.MockIssueHandler;
-import com.yahoo.vespa.hosted.controller.api.integration.repair.MockRepairClient;
import com.yahoo.vespa.hosted.controller.api.integration.resource.CostReportConsumerMock;
import com.yahoo.vespa.hosted.controller.api.integration.routing.GlobalRoutingService;
import com.yahoo.vespa.hosted.controller.api.integration.routing.MemoryGlobalRoutingService;
@@ -61,7 +60,6 @@ public class ServiceRegistryMock extends AbstractComponent implements ServiceReg
private final MockResourceTagger mockResourceTagger = new MockResourceTagger();
private final ApplicationRoleService applicationRoleService = new NoopApplicationRoleService();
private final BillingController billingController = new MockBillingController();
- private final MockRepairClient repairClient = new MockRepairClient();
private final ContainerRegistryMock containerRegistry = new ContainerRegistryMock();
public ServiceRegistryMock(SystemName system) {
@@ -195,11 +193,6 @@ public class ServiceRegistryMock extends AbstractComponent implements ServiceReg
}
@Override
- public MockRepairClient hostRepairClient() {
- return repairClient;
- }
-
- @Override
public ContainerRegistryMock containerRegistry() {
return containerRegistry;
}
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/HostRepairMaintainerTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/HostRepairMaintainerTest.java
deleted file mode 100644
index ab6e13bb5a2..00000000000
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/HostRepairMaintainerTest.java
+++ /dev/null
@@ -1,44 +0,0 @@
-package com.yahoo.vespa.hosted.controller.maintenance;
-
-import com.yahoo.config.provision.HostName;
-import com.yahoo.config.provision.zone.ZoneId;
-import com.yahoo.vespa.hosted.controller.ControllerTester;
-import com.yahoo.vespa.hosted.controller.api.integration.configserver.Node;
-import org.junit.Test;
-
-import java.time.Duration;
-import java.time.Instant;
-import java.util.List;
-
-import static org.junit.Assert.*;
-
-/**
- * @author olaa
- */
-public class HostRepairMaintainerTest {
-
- private final ControllerTester tester = new ControllerTester();
- private final HostRepairMaintainer maintainer = new HostRepairMaintainer(tester.controller(), Duration.ofHours(12));
-
- @Test
- public void maintain() {
- var zoneId = ZoneId.from("dev.us-east-1");
- var hostname1 = HostName.from("node-1-tenant-host-dev.us-east-1");
- var hostname2 = HostName.from("node-2-tenant-host-dev.us-east-1");
- var timestamp = Instant.now().toEpochMilli();
-
- var node1 = new Node.Builder()
- .state(Node.State.active)
- .hostname(hostname1)
- .build();
- var node2 = new Node.Builder()
- .state(Node.State.breakfixed)
- .hostname(hostname2)
- .build();
- tester.configServer().nodeRepository().putNodes(zoneId, List.of(node1, node2));
- maintainer.maintain();
- var updatedNodes = tester.serviceRegistry().hostRepairClient().getUpdatedNodes();
- assertEquals(1, updatedNodes.size());
- assertEquals(hostname2, updatedNodes.get(0).hostname());
- }
-} \ No newline at end of file
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 5ab087aab17..b6b45bd76e0 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
@@ -31,9 +31,6 @@
"name": "DeploymentMetricsMaintainer"
},
{
- "name": "HostRepairMaintainer"
- },
- {
"name": "HostSwitchUpdater"
},
{