summaryrefslogtreecommitdiffstats
path: root/controller-server
diff options
context:
space:
mode:
authorJon Marius Venstad <venstad@gmail.com>2019-12-17 10:13:13 +0100
committerJon Marius Venstad <venstad@gmail.com>2019-12-17 10:13:13 +0100
commit29ac147d2f89ad59b041cc084cf6591937263226 (patch)
treecf525bfd9139151fe9a48c5af309aa44ae189082 /controller-server
parent277baeefbb116bf840a1cfa928dd29d550482377 (diff)
Remove deployment spec for user tenants, and create missing instances for others
Diffstat (limited to 'controller-server')
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/ApplicationController.java12
1 files changed, 10 insertions, 2 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 4725af6fd28..dd99adcaffb 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
@@ -146,8 +146,16 @@ public class ApplicationController {
Once.after(Duration.ofMinutes(1), () -> {
Instant start = clock.instant();
int count = 0;
- for (Application application : curator.readApplications()) {
- lockApplicationIfPresent(application.id(), this::store);
+ for (TenantAndApplicationId id: curator.readApplicationIds()) {
+ lockApplicationIfPresent(id, application -> {
+ if (id.tenant().value().startsWith("by-"))
+ application = application.with(DeploymentSpec.empty);
+ else
+ for (InstanceName instance : application.get().deploymentSpec().instanceNames())
+ if ( ! application.get().instances().keySet().contains(instance))
+ application = application.withNewInstance(instance);
+ store(application);
+ });
count++;
}
log.log(Level.INFO, String.format("Wrote %d applications in %s", count,