aboutsummaryrefslogtreecommitdiffstats
path: root/configserver
diff options
context:
space:
mode:
authorjonmv <venstad@gmail.com>2024-01-16 13:44:34 +0100
committerjonmv <venstad@gmail.com>2024-01-16 13:45:01 +0100
commitd1cbfbe0343da413386d98901be6b07f57e36ccb (patch)
tree238d2581ce6522be0aff31d3af3b3e9541bc49a0 /configserver
parent86c611b29c7927b212e9482ad29d4741b344c56f (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')
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/deploy/ModelContextImpl.java8
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/modelfactory/ActivatedModelsBuilder.java14
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/modelfactory/PreparedModelsBuilder.java1
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/ModelContextImplTest.java3
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());