diff options
author | jonmv <venstad@gmail.com> | 2024-01-16 13:44:34 +0100 |
---|---|---|
committer | jonmv <venstad@gmail.com> | 2024-01-16 13:45:01 +0100 |
commit | d1cbfbe0343da413386d98901be6b07f57e36ccb (patch) | |
tree | 238d2581ce6522be0aff31d3af3b3e9541bc49a0 /configserver | |
parent | 86c611b29c7927b212e9482ad29d4741b344c56f (diff) |
Revert "Merge pull request #29916 from vespa-engine/revert-29903-jonmv/two-phase-deploy"
This reverts commit 0ce3abacb981dc8e04fa54bc015f57e24a43a7fd, reversing
changes made to e6120bdf3176e0d40141a32d6a7326794fba857f.
Diffstat (limited to 'configserver')
4 files changed, 14 insertions, 12 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 22b2b581b44..c5449475136 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,6 +22,7 @@ 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; @@ -39,6 +40,7 @@ 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; @@ -67,6 +69,7 @@ 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; @@ -94,6 +97,7 @@ public class ModelContextImpl implements ModelContext { ModelContext.Properties properties, Optional<File> appDir, OnnxModelCost onnxModelCost, + Collection<Id> restartingClusters, Optional<DockerImage> wantedDockerImageRepository, Version modelVespaVersion, Version wantedNodeVespaVersion) { @@ -112,6 +116,7 @@ public class ModelContextImpl implements ModelContext { this.modelVespaVersion = modelVespaVersion; this.wantedNodeVespaVersion = wantedNodeVespaVersion; this.onnxModelCost = onnxModelCost; + this.restartingClusters = Set.copyOf(restartingClusters); } @Override @@ -148,6 +153,9 @@ 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 64ccd910120..02e49e3990c 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,12 +118,13 @@ 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(withDeferredConfigForRestartingClusters(modelFactory.createModel(modelContext)), + return new Application(modelFactory.createModel(modelContext), serverCache, applicationGeneration, modelFactory.version(), @@ -170,15 +171,4 @@ 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 fd8728ac655..894cedd0a34 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,6 +128,7 @@ 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 3289cc71357..27d82e90197 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,6 +16,7 @@ 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; @@ -80,6 +81,7 @@ public class ModelContextImplTest { List.of()), Optional.empty(), OnnxModelCost.disabled(), + List.of(Id.from("foobar")), Optional.empty(), new Version(7), new Version(8)); @@ -88,6 +90,7 @@ 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()); |