diff options
author | Jon Marius Venstad <jonmv@users.noreply.github.com> | 2024-01-16 14:35:02 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-01-16 14:35:02 +0100 |
commit | 1a23b2a258d50583e4923a33abfe449e09c5c00d (patch) | |
tree | 9014807565cbc86a42e43beb034f4c162ef31648 /configserver | |
parent | 78b1cca295fc0e34ab781272bcc80863ce3e1694 (diff) |
Revert "Reapply defer container config changes when restarting"
Diffstat (limited to 'configserver')
4 files changed, 12 insertions, 14 deletions
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/deploy/ModelContextImpl.java b/configserver/src/main/java/com/yahoo/vespa/config/server/deploy/ModelContextImpl.java index c5449475136..22b2b581b44 100644 --- a/configserver/src/main/java/com/yahoo/vespa/config/server/deploy/ModelContextImpl.java +++ b/configserver/src/main/java/com/yahoo/vespa/config/server/deploy/ModelContextImpl.java @@ -22,7 +22,6 @@ import com.yahoo.config.provision.ApplicationId; import com.yahoo.config.provision.AthenzDomain; import com.yahoo.config.provision.CloudAccount; import com.yahoo.config.provision.ClusterSpec; -import com.yahoo.config.provision.ClusterSpec.Id; import com.yahoo.config.provision.DataplaneToken; import com.yahoo.config.provision.DockerImage; import com.yahoo.config.provision.HostName; @@ -40,7 +39,6 @@ import java.io.File; import java.net.URI; import java.security.cert.X509Certificate; import java.time.Duration; -import java.util.Collection; import java.util.List; import java.util.Optional; import java.util.Set; @@ -69,7 +67,6 @@ public class ModelContextImpl implements ModelContext { private final ModelContext.Properties properties; private final Optional<File> appDir; private final OnnxModelCost onnxModelCost; - private final Set<ClusterSpec.Id> restartingClusters; private final Optional<DockerImage> wantedDockerImageRepository; @@ -97,7 +94,6 @@ public class ModelContextImpl implements ModelContext { ModelContext.Properties properties, Optional<File> appDir, OnnxModelCost onnxModelCost, - Collection<Id> restartingClusters, Optional<DockerImage> wantedDockerImageRepository, Version modelVespaVersion, Version wantedNodeVespaVersion) { @@ -116,7 +112,6 @@ public class ModelContextImpl implements ModelContext { this.modelVespaVersion = modelVespaVersion; this.wantedNodeVespaVersion = wantedNodeVespaVersion; this.onnxModelCost = onnxModelCost; - this.restartingClusters = Set.copyOf(restartingClusters); } @Override @@ -153,9 +148,6 @@ public class ModelContextImpl implements ModelContext { public Optional<? extends Reindexing> reindexing() { return reindexing; } @Override - public Set<ClusterSpec.Id> restartingClusters() { return restartingClusters; } - - @Override public ModelContext.Properties properties() { return properties; } @Override diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/modelfactory/ActivatedModelsBuilder.java b/configserver/src/main/java/com/yahoo/vespa/config/server/modelfactory/ActivatedModelsBuilder.java index 02e49e3990c..64ccd910120 100644 --- a/configserver/src/main/java/com/yahoo/vespa/config/server/modelfactory/ActivatedModelsBuilder.java +++ b/configserver/src/main/java/com/yahoo/vespa/config/server/modelfactory/ActivatedModelsBuilder.java @@ -118,13 +118,12 @@ public class ActivatedModelsBuilder extends ModelsBuilder<Application> { modelContextProperties, Optional.empty(), onnxModelCost, - zkClient.readActivationTriggers().restartingClusters(), wantedDockerImageRepository, modelFactory.version(), wantedNodeVespaVersion); MetricUpdater applicationMetricUpdater = metrics.getOrCreateMetricUpdater(Metrics.createDimensions(applicationId)); ServerCache serverCache = new ServerCache(configDefinitionRepo, zkClient.getUserConfigDefinitions()); - return new Application(modelFactory.createModel(modelContext), + return new Application(withDeferredConfigForRestartingClusters(modelFactory.createModel(modelContext)), serverCache, applicationGeneration, modelFactory.version(), @@ -171,4 +170,15 @@ public class ActivatedModelsBuilder extends ModelsBuilder<Application> { zkClient.readDataplaneTokens()); } + private Model withDeferredConfigForRestartingClusters(Model model) { + if ( ! (model instanceof VespaModel vespaModel)) return model; + for (ClusterSpec.Id cluster : zkClient.readActivationTriggers().restartingClusters()) { + ApplicationContainerCluster containerCluster = vespaModel.getContainerClusters().get(cluster.value()); + if (containerCluster != null) containerCluster.setDeferChangesUntilRestart(true); + ContentCluster contentCluster = vespaModel.getContentClusters().get(cluster.value()); + if (contentCluster != null) contentCluster.setDeferChangesUntilRestart(true); + } + return model; + } + } diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/modelfactory/PreparedModelsBuilder.java b/configserver/src/main/java/com/yahoo/vespa/config/server/modelfactory/PreparedModelsBuilder.java index 894cedd0a34..fd8728ac655 100644 --- a/configserver/src/main/java/com/yahoo/vespa/config/server/modelfactory/PreparedModelsBuilder.java +++ b/configserver/src/main/java/com/yahoo/vespa/config/server/modelfactory/PreparedModelsBuilder.java @@ -128,7 +128,6 @@ public class PreparedModelsBuilder extends ModelsBuilder<PreparedModelsBuilder.P createModelContextProperties(modelFactory.version(), applicationPackage), getAppDir(applicationPackage), onnxModelCost, - Set.of(), // Known after preparation and validation, passed from activated models builder only. wantedDockerImageRepository, modelVersion, wantedNodeVespaVersion); diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/ModelContextImplTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/ModelContextImplTest.java index 27d82e90197..3289cc71357 100644 --- a/configserver/src/test/java/com/yahoo/vespa/config/server/ModelContextImplTest.java +++ b/configserver/src/test/java/com/yahoo/vespa/config/server/ModelContextImplTest.java @@ -16,7 +16,6 @@ import com.yahoo.config.model.application.provider.MockFileRegistry; import com.yahoo.config.model.deploy.DeployState; import com.yahoo.config.model.test.MockApplicationPackage; import com.yahoo.config.provision.ApplicationId; -import com.yahoo.config.provision.ClusterSpec.Id; import com.yahoo.config.provision.Zone; import com.yahoo.container.jdisc.SecretStoreProvider; import com.yahoo.vespa.config.server.deploy.ModelContextImpl; @@ -81,7 +80,6 @@ public class ModelContextImplTest { List.of()), Optional.empty(), OnnxModelCost.disabled(), - List.of(Id.from("foobar")), Optional.empty(), new Version(7), new Version(8)); @@ -90,7 +88,6 @@ public class ModelContextImplTest { assertFalse(context.previousModel().isPresent()); assertTrue(context.getFileRegistry() instanceof MockFileRegistry); assertTrue(context.configDefinitionRepo() instanceof StaticConfigDefinitionRepo); - assertEquals(Set.of(Id.from("foobar")), context.restartingClusters()); assertEquals(ApplicationId.defaultId(), context.properties().applicationId()); assertTrue(context.properties().configServerSpecs().isEmpty()); assertTrue(context.properties().multitenant()); |