summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Musum <musum@verizonmedia.com>2019-10-30 07:53:46 +0100
committerHarald Musum <musum@verizonmedia.com>2019-10-30 07:53:46 +0100
commit565b3db00a82819fd2bc131d2ee5f578f7f23baa (patch)
tree021d0f5dd351d92a271eba4a2c88d46feb1d5d3f
parentc6d402cad221d1fe34ffddd4c021de5ec4e277c3 (diff)
Add Vespa version to Model
-rw-r--r--config-model-api/src/main/java/com/yahoo/config/model/api/Model.java6
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/VespaModel.java9
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/modelfactory/ModelsBuilder.java3
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/metrics/ApplicationMetricsRetrieverTest.java1
4 files changed, 18 insertions, 1 deletions
diff --git a/config-model-api/src/main/java/com/yahoo/config/model/api/Model.java b/config-model-api/src/main/java/com/yahoo/config/model/api/Model.java
index 97ad67c5279..22a2ea5ba6f 100644
--- a/config-model-api/src/main/java/com/yahoo/config/model/api/Model.java
+++ b/config-model-api/src/main/java/com/yahoo/config/model/api/Model.java
@@ -1,6 +1,7 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.config.model.api;
+import com.yahoo.component.Version;
import com.yahoo.config.FileReference;
import com.yahoo.config.provision.AllocatedHosts;
import com.yahoo.vespa.config.ConfigKey;
@@ -78,5 +79,10 @@ public interface Model {
* or clients requesting config for those old models will not get config at all.
*/
default boolean skipOldConfigModels(Instant now) { return false; }
+
+ /**
+ * Returns the version of this model
+ */
+ default Version version() { return Version.emptyVersion; };
}
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/VespaModel.java b/config-model/src/main/java/com/yahoo/vespa/model/VespaModel.java
index 31746c39f80..bedf8057b41 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/VespaModel.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/VespaModel.java
@@ -3,6 +3,7 @@ package com.yahoo.vespa.model;
import ai.vespa.rankingexpression.importer.configmodelview.ImportedMlModel;
import com.yahoo.collections.Pair;
+import com.yahoo.component.Version;
import com.yahoo.config.ConfigBuilder;
import com.yahoo.config.ConfigInstance;
import com.yahoo.config.ConfigInstance.Builder;
@@ -96,6 +97,8 @@ public final class VespaModel extends AbstractConfigProducerRoot implements Seri
private static final long serialVersionUID = 1L;
public static final Logger log = Logger.getLogger(VespaModel.class.getPackage().toString());
+
+ private final Version version;
private final ConfigModelRepo configModelRepo = new ConfigModelRepo();
private final AllocatedHosts allocatedHosts;
@@ -155,6 +158,7 @@ public final class VespaModel extends AbstractConfigProducerRoot implements Seri
private VespaModel(ConfigModelRegistry configModelRegistry, DeployState deployState, boolean complete, FileDistributor fileDistributor)
throws IOException, SAXException {
super("vespamodel");
+ this.version = deployState.getVespaVersion();
this.validationOverrides = deployState.validationOverrides();
configModelRegistry = new VespaConfigModelRegistry(configModelRegistry);
VespaModelBuilder builder = new VespaDomBuilder();
@@ -292,6 +296,11 @@ public final class VespaModel extends AbstractConfigProducerRoot implements Seri
return validationOverrides.allows(ValidationId.skipOldConfigModels, now);
}
+ @Override
+ public Version version() {
+ return version;
+ }
+
/**
* Resolves config of the given type and config id, by first instantiating the correct {@link com.yahoo.config.ConfigInstance.Builder},
* calling {@link #getConfig(com.yahoo.config.ConfigInstance.Builder, String)}. The default values used will be those of the config
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/modelfactory/ModelsBuilder.java b/configserver/src/main/java/com/yahoo/vespa/config/server/modelfactory/ModelsBuilder.java
index 34dcefe05bd..fab9c28d241 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/modelfactory/ModelsBuilder.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/modelfactory/ModelsBuilder.java
@@ -131,7 +131,8 @@ public abstract class ModelsBuilder<MODELRESULT extends ModelResult> {
}
}
}
- log.log(LogLevel.DEBUG, "Done building models for " + applicationId);
+ log.log(LogLevel.DEBUG, "Done building models for " + applicationId + ". Built models for versions " +
+ allApplicationModels.stream().map(result -> result.getModel().version())) ;
return allApplicationModels;
}
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/metrics/ApplicationMetricsRetrieverTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/metrics/ApplicationMetricsRetrieverTest.java
index dd86eb4fd0d..8a798570101 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/metrics/ApplicationMetricsRetrieverTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/metrics/ApplicationMetricsRetrieverTest.java
@@ -1,5 +1,6 @@
package com.yahoo.vespa.config.server.metrics;
+import com.yahoo.component.Version;
import com.yahoo.config.FileReference;
import com.yahoo.config.model.api.FileDistribution;
import com.yahoo.config.model.api.HostInfo;