diff options
author | Martin Polden <mpolden@mpolden.no> | 2017-12-01 14:52:12 +0100 |
---|---|---|
committer | Martin Polden <mpolden@mpolden.no> | 2017-12-05 13:37:25 +0100 |
commit | 641b386ab960465538e55bc9e30cac90c6370928 (patch) | |
tree | 4d0f48a1709fee05373c0891beccc9ee8f9acfce | |
parent | b8b720c115d6cb7a8951a8951dfa2383a77a952a (diff) |
Remove rotations from ControllerDb
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; - } - } |