summaryrefslogtreecommitdiffstats
path: root/controller-server
diff options
context:
space:
mode:
authorMartin Polden <mpolden@mpolden.no>2017-12-01 14:52:12 +0100
committerMartin Polden <mpolden@mpolden.no>2017-12-05 13:37:25 +0100
commit641b386ab960465538e55bc9e30cac90c6370928 (patch)
tree4d0f48a1709fee05373c0891beccc9ee8f9acfce /controller-server
parentb8b720c115d6cb7a8951a8951dfa2383a77a952a (diff)
Remove rotations from ControllerDb
Diffstat (limited to 'controller-server')
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/ApplicationController.java18
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/ControllerDb.java15
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/MemoryControllerDb.java37
3 files changed, 4 insertions, 66 deletions
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/ApplicationController.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/ApplicationController.java
index 8d91c93e283..a489b0f4e91 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/ApplicationController.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/ApplicationController.java
@@ -30,9 +30,9 @@ import com.yahoo.vespa.hosted.controller.api.integration.dns.Record;
import com.yahoo.vespa.hosted.controller.api.integration.dns.RecordId;
import com.yahoo.vespa.hosted.controller.api.integration.routing.RoutingEndpoint;
import com.yahoo.vespa.hosted.controller.api.integration.routing.RoutingGenerator;
-import com.yahoo.vespa.hosted.controller.application.ApplicationRotation;
import com.yahoo.vespa.hosted.controller.application.ApplicationPackage;
import com.yahoo.vespa.hosted.controller.application.ApplicationRevision;
+import com.yahoo.vespa.hosted.controller.application.ApplicationRotation;
import com.yahoo.vespa.hosted.controller.application.Change;
import com.yahoo.vespa.hosted.controller.application.Deployment;
import com.yahoo.vespa.hosted.controller.application.DeploymentJobs;
@@ -48,7 +48,6 @@ import com.yahoo.vespa.hosted.controller.maintenance.DeploymentExpirer;
import com.yahoo.vespa.hosted.controller.persistence.ControllerDb;
import com.yahoo.vespa.hosted.controller.persistence.CuratorDb;
import com.yahoo.vespa.hosted.controller.rotation.Rotation;
-import com.yahoo.vespa.hosted.controller.rotation.RotationId;
import com.yahoo.vespa.hosted.controller.rotation.RotationRepository;
import com.yahoo.vespa.hosted.rotation.config.RotationsConfig;
import com.yahoo.yolean.Exceptions;
@@ -116,20 +115,7 @@ public class ApplicationController {
this.deploymentTrigger = new DeploymentTrigger(controller, curator, clock);
for (Application application : db.listApplications()) {
- lockIfPresent(application.id(), (app) -> {
- // TODO: Remove after December 2017. Migrates rotations into application
- if (!app.rotation().isPresent()) {
- Set<com.yahoo.vespa.hosted.controller.api.identifiers.RotationId> rotations = db.getRotations(application.id());
- if (rotations.size() > 1) {
- log.warning("Application " + application.id() + " has more than 1 rotation: "
- + rotations.size());
- }
- if (!rotations.isEmpty()) {
- app = app.with(new RotationId(rotations.iterator().next().id()));
- }
- }
- store(app);
- });
+ lockIfPresent(application.id(), this::store);
}
}
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/ControllerDb.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/ControllerDb.java
index 34b3ae55c2c..fb6608ea643 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/ControllerDb.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/ControllerDb.java
@@ -6,12 +6,10 @@ import com.yahoo.config.provision.ApplicationId;
import com.yahoo.vespa.hosted.controller.Application;
import com.yahoo.vespa.hosted.controller.api.Tenant;
import com.yahoo.vespa.hosted.controller.api.identifiers.Identifier;
-import com.yahoo.vespa.hosted.controller.api.identifiers.RotationId;
import com.yahoo.vespa.hosted.controller.api.identifiers.TenantId;
import java.util.List;
import java.util.Optional;
-import java.util.Set;
/**
* Used to store the permanent data of the controller.
@@ -25,6 +23,7 @@ public interface ControllerDb {
void createTenant(Tenant tenant);
+ // TODO: Remove exception from all signatures
void updateTenant(Tenant tenant) throws PersistenceException;
void deleteTenant(TenantId tenantId) throws PersistenceException;
@@ -48,18 +47,6 @@ public interface ControllerDb {
/** Returns all applications of a tenant */
List<Application> listApplications(TenantId tenantId);
- // --------- Rotations
-
- // TODO: Remove all rotation methods after December 2017
- Set<RotationId> getRotations();
-
- Set<RotationId> getRotations(ApplicationId applicationId);
-
- boolean assignRotation(RotationId rotationId, ApplicationId applicationId);
-
- Set<RotationId> deleteRotations(ApplicationId applicationId);
- // end TODO
-
/** Returns the given elements joined by dot "." */
default String path(Identifier... elements) {
return Joiner.on(".").join(elements);
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/MemoryControllerDb.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/MemoryControllerDb.java
index 0dffd7ee520..2c5d77c7773 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/MemoryControllerDb.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/MemoryControllerDb.java
@@ -6,7 +6,6 @@ import com.yahoo.vespa.hosted.controller.AlreadyExistsException;
import com.yahoo.vespa.hosted.controller.Application;
import com.yahoo.vespa.hosted.controller.NotExistsException;
import com.yahoo.vespa.hosted.controller.api.Tenant;
-import com.yahoo.vespa.hosted.controller.api.identifiers.RotationId;
import com.yahoo.vespa.hosted.controller.api.identifiers.TenantId;
import java.util.ArrayList;
@@ -14,7 +13,6 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Optional;
-import java.util.Set;
import java.util.stream.Collectors;
/**
@@ -26,7 +24,6 @@ public class MemoryControllerDb implements ControllerDb {
private final Map<TenantId, Tenant> tenants = new HashMap<>();
private final Map<String, Application> applications = new HashMap<>();
- private final Map<RotationId, ApplicationId> rotationAssignments = new HashMap<>();
@Override
public void createTenant(Tenant tenant) {
@@ -52,7 +49,7 @@ public class MemoryControllerDb implements ControllerDb {
}
@Override
- public Optional<Tenant> getTenant(TenantId tenantId) throws PersistenceException {
+ public Optional<Tenant> getTenant(TenantId tenantId) {
return Optional.ofNullable(tenants.get(tenantId));
}
@@ -88,36 +85,4 @@ public class MemoryControllerDb implements ControllerDb {
.collect(Collectors.toList());
}
- @Override
- public Set<RotationId> getRotations() {
- return rotationAssignments.keySet();
- }
-
- @Override
- public Set<RotationId> getRotations(ApplicationId applicationId) {
- return rotationAssignments.entrySet().stream()
- .filter(entry -> entry.getValue().equals(applicationId))
- .map(Map.Entry::getKey)
- .collect(Collectors.toSet());
- }
-
- @Override
- public boolean assignRotation(RotationId rotationId, ApplicationId applicationId) {
- if (rotationAssignments.containsKey(rotationId)) {
- return false;
- } else {
- rotationAssignments.put(rotationId, applicationId);
- return true;
- }
- }
-
- @Override
- public Set<RotationId> deleteRotations(ApplicationId applicationId) {
- Set<RotationId> rotations = getRotations(applicationId);
- for (RotationId rotation : rotations) {
- rotationAssignments.remove(rotation);
- }
- return rotations;
- }
-
}