summaryrefslogtreecommitdiffstats
path: root/config-model/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'config-model/src/main')
-rw-r--r--config-model/src/main/java/com/yahoo/config/model/ConfigModelContext.java5
-rw-r--r--config-model/src/main/java/com/yahoo/config/model/admin/AdminModel.java11
-rw-r--r--config-model/src/main/java/com/yahoo/config/model/deploy/DeployProperties.java174
-rw-r--r--config-model/src/main/java/com/yahoo/config/model/deploy/DeployState.java27
-rw-r--r--config-model/src/main/java/com/yahoo/config/model/deploy/TestProperties.java76
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/VespaModelFactory.java25
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/application/validation/ComponentValidator.java2
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/VespaDomBuilder.java2
-rwxr-xr-xconfig-model/src/main/java/com/yahoo/vespa/model/container/ContainerCluster.java2
9 files changed, 113 insertions, 211 deletions
diff --git a/config-model/src/main/java/com/yahoo/config/model/ConfigModelContext.java b/config-model/src/main/java/com/yahoo/config/model/ConfigModelContext.java
index c39eb15b027..f7167147a61 100644
--- a/config-model/src/main/java/com/yahoo/config/model/ConfigModelContext.java
+++ b/config-model/src/main/java/com/yahoo/config/model/ConfigModelContext.java
@@ -3,6 +3,7 @@ package com.yahoo.config.model;
import com.yahoo.config.application.api.ApplicationPackage;
import com.yahoo.config.application.api.DeployLogger;
+import com.yahoo.config.model.api.ModelContext;
import com.yahoo.config.model.deploy.DeployState;
import com.yahoo.config.model.producer.AbstractConfigProducer;
import com.yahoo.vespa.model.VespaModel;
@@ -26,7 +27,8 @@ public final class ConfigModelContext {
private ConfigModelContext(ApplicationType applicationType,
DeployState deployState,
- VespaModel vespaModel, ConfigModelRepoAdder configModelRepoAdder,
+ VespaModel vespaModel,
+ ConfigModelRepoAdder configModelRepoAdder,
AbstractConfigProducer parent,
String producerId) {
this.applicationType = applicationType;
@@ -44,6 +46,7 @@ public final class ConfigModelContext {
public DeployState getDeployState() { return deployState; }
public ApplicationType getApplicationType() { return applicationType; }
public VespaModel vespaModel() { return vespaModel; }
+ public ModelContext.Properties properties() { return deployState.getProperties(); }
/** Returns write access to the config model repo, or null (only) if this is improperly initialized during testing */
public ConfigModelRepoAdder getConfigModelRepoAdder() { return configModelRepoAdder; }
diff --git a/config-model/src/main/java/com/yahoo/config/model/admin/AdminModel.java b/config-model/src/main/java/com/yahoo/config/model/admin/AdminModel.java
index ff89cd8e41a..b5cadedd454 100644
--- a/config-model/src/main/java/com/yahoo/config/model/admin/AdminModel.java
+++ b/config-model/src/main/java/com/yahoo/config/model/admin/AdminModel.java
@@ -2,11 +2,11 @@
package com.yahoo.config.model.admin;
import com.google.common.collect.ImmutableList;
+import com.yahoo.config.model.ApplicationConfigProducerRoot;
import com.yahoo.config.model.ConfigModel;
import com.yahoo.config.model.ConfigModelContext;
import com.yahoo.config.model.ConfigModelRepo;
-import com.yahoo.config.model.ApplicationConfigProducerRoot;
-import com.yahoo.config.model.deploy.DeployProperties;
+import com.yahoo.config.model.api.ModelContext;
import com.yahoo.config.model.builder.xml.ConfigModelBuilder;
import com.yahoo.config.model.builder.xml.ConfigModelId;
import com.yahoo.config.model.deploy.DeployState;
@@ -18,7 +18,8 @@ import com.yahoo.vespa.model.container.ContainerCluster;
import com.yahoo.vespa.model.container.ContainerModel;
import org.w3c.dom.Element;
-import java.util.*;
+import java.util.Collection;
+import java.util.List;
/**
* Config model adaptor of the Admin class.
@@ -77,7 +78,7 @@ public class AdminModel extends ConfigModel {
@Override
public void doBuild(AdminModel model, Element adminElement, ConfigModelContext modelContext) {
AbstractConfigProducer parent = modelContext.getParentProducer();
- DeployProperties properties = modelContext.getDeployState().getProperties();
+ ModelContext.Properties properties = modelContext.getDeployState().getProperties();
DomAdminV2Builder domBuilder = new DomAdminV2Builder(modelContext.getApplicationType(),
modelContext.getDeployState().getFileRegistry(),
properties.multitenant(),
@@ -106,7 +107,7 @@ public class AdminModel extends ConfigModel {
@Override
public void doBuild(AdminModel model, Element adminElement, ConfigModelContext modelContext) {
AbstractConfigProducer parent = modelContext.getParentProducer();
- DeployProperties properties = modelContext.getDeployState().getProperties();
+ ModelContext.Properties properties = modelContext.getDeployState().getProperties();
DomAdminV4Builder domBuilder = new DomAdminV4Builder(modelContext,
properties.multitenant(),
properties.configServerSpecs(),
diff --git a/config-model/src/main/java/com/yahoo/config/model/deploy/DeployProperties.java b/config-model/src/main/java/com/yahoo/config/model/deploy/DeployProperties.java
deleted file mode 100644
index 626b5bfbf5c..00000000000
--- a/config-model/src/main/java/com/yahoo/config/model/deploy/DeployProperties.java
+++ /dev/null
@@ -1,174 +0,0 @@
-// 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.deploy;
-
-import com.yahoo.config.model.api.ConfigServerSpec;
-import com.yahoo.config.provision.ApplicationId;
-import com.yahoo.config.provision.HostName;
-import com.yahoo.component.Version;
-
-import java.net.URI;
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * Collection of properties for a deployment.
- *
- * @author Ulf Lilleengen
- */
-public class DeployProperties {
-
- private final boolean multitenant;
- private final ApplicationId applicationId;
- private final List<ConfigServerSpec> serverSpecs = new ArrayList<>();
- private final HostName loadBalancerName;
- private final URI ztsUrl;
- private final String athenzDnsSuffix;
- private final boolean hostedVespa;
- private final Version vespaVersion;
- private final boolean isBootstrap;
- private final boolean isFirstTimeDeployment;
- private final boolean useDedicatedNodeForLogserver;
-
-
- private DeployProperties(boolean multitenant,
- ApplicationId applicationId,
- List<ConfigServerSpec> configServerSpecs,
- HostName loadBalancerName,
- boolean hostedVespa,
- URI ztsUrl,
- String athenzDnsSuffix,
- Version vespaVersion,
- boolean isBootstrap,
- boolean isFirstTimeDeployment,
- boolean useDedicatedNodeForLogserver) {
- this.loadBalancerName = loadBalancerName;
- this.ztsUrl = ztsUrl;
- this.athenzDnsSuffix = athenzDnsSuffix;
- this.vespaVersion = vespaVersion;
- this.multitenant = multitenant || hostedVespa || Boolean.getBoolean("multitenant");
- this.applicationId = applicationId;
- this.serverSpecs.addAll(configServerSpecs);
- this.hostedVespa = hostedVespa;
- this.isBootstrap = isBootstrap;
- this.isFirstTimeDeployment = isFirstTimeDeployment;
- this.useDedicatedNodeForLogserver = useDedicatedNodeForLogserver;
- }
-
- public boolean multitenant() {
- return multitenant;
- }
-
- public ApplicationId applicationId() {
- return applicationId;
- }
-
- public List<ConfigServerSpec> configServerSpecs() {
- return serverSpecs;
- }
-
- public HostName loadBalancerName() {
- return loadBalancerName;
- }
-
- public URI ztsUrl() {
- return ztsUrl;
- }
-
- public String athenzDnsSuffix() {
- return athenzDnsSuffix;
- }
-
- public boolean hostedVespa() {
- return hostedVespa;
- }
-
- /** Returns the config model version this is building */
- public Version vespaVersion() {
- return vespaVersion;
- }
-
- /** Returns whether this deployment happens during bootstrap *prepare* (not set on activate) */
- public boolean isBootstrap() { return isBootstrap; }
-
- /** Returns whether this is the first deployment for this application (used during *prepare*, not set on activate) */
- public boolean isFirstTimeDeployment() { return isFirstTimeDeployment; }
-
- public boolean useDedicatedNodeForLogserver() { return useDedicatedNodeForLogserver; }
-
- public static class Builder {
-
- private ApplicationId applicationId = ApplicationId.defaultId();
- private boolean multitenant = false;
- private List<ConfigServerSpec> configServerSpecs = new ArrayList<>();
- private HostName loadBalancerName;
- private URI ztsUrl;
- private String athenzDnsSuffix;
- private boolean hostedVespa = false;
- private Version vespaVersion = new Version(1, 0, 0);
- private boolean isBootstrap = false;
- private boolean isFirstTimeDeployment = false;
- private boolean useDedicatedNodeForLogserver = false;
-
- public Builder applicationId(ApplicationId applicationId) {
- this.applicationId = applicationId;
- return this;
- }
-
- public Builder multitenant(boolean multitenant) {
- this.multitenant = multitenant;
- return this;
- }
-
- public Builder configServerSpecs(List<ConfigServerSpec> configServerSpecs) {
- this.configServerSpecs = configServerSpecs;
- return this;
- }
-
- public Builder loadBalancerName(HostName loadBalancerName) {
- this.loadBalancerName = loadBalancerName;
- return this;
- }
-
- public Builder athenzDnsSuffix(String athenzDnsSuffix) {
- this.athenzDnsSuffix = athenzDnsSuffix;
- return this;
- }
-
- public Builder ztsUrl(URI ztsUrl) {
- this.ztsUrl = ztsUrl;
- return this;
- }
-
- public Builder vespaVersion(Version version) {
- this.vespaVersion = version;
- return this;
- }
-
- public Builder hostedVespa(boolean hostedVespa) {
- this.hostedVespa = hostedVespa;
- return this;
- }
-
- public Builder isBootstrap(boolean isBootstrap) {
- this.isBootstrap = isBootstrap;
- return this;
- }
-
- public Builder isFirstTimeDeployment(boolean isFirstTimeDeployment) {
- this.isFirstTimeDeployment = isFirstTimeDeployment;
- return this;
- }
-
- public Builder useDedicatedNodeForLogserver(boolean useDedicatedNodeForLogserver) {
- this.useDedicatedNodeForLogserver = useDedicatedNodeForLogserver;
- return this;
- }
-
- public DeployProperties build() {
- return new DeployProperties(multitenant, applicationId, configServerSpecs, loadBalancerName, hostedVespa,
- ztsUrl, athenzDnsSuffix, vespaVersion, isBootstrap, isFirstTimeDeployment,
- useDedicatedNodeForLogserver);
- }
- }
-
-}
diff --git a/config-model/src/main/java/com/yahoo/config/model/deploy/DeployState.java b/config-model/src/main/java/com/yahoo/config/model/deploy/DeployState.java
index c0d97e43adb..910eff065d1 100644
--- a/config-model/src/main/java/com/yahoo/config/model/deploy/DeployState.java
+++ b/config-model/src/main/java/com/yahoo/config/model/deploy/DeployState.java
@@ -2,16 +2,18 @@
package com.yahoo.config.model.deploy;
import ai.vespa.rankingexpression.importer.configmodelview.ImportedMlModels;
+import ai.vespa.rankingexpression.importer.configmodelview.MlModelImporter;
import com.yahoo.component.Version;
import com.yahoo.component.Vtag;
import com.yahoo.config.application.api.ApplicationPackage;
import com.yahoo.config.application.api.DeployLogger;
import com.yahoo.config.application.api.FileRegistry;
import com.yahoo.config.application.api.UnparsedConfigDefinition;
+import com.yahoo.config.application.api.ValidationOverrides;
import com.yahoo.config.model.api.ConfigDefinitionRepo;
import com.yahoo.config.model.api.HostProvisioner;
-import ai.vespa.rankingexpression.importer.configmodelview.MlModelImporter;
import com.yahoo.config.model.api.Model;
+import com.yahoo.config.model.api.ModelContext;
import com.yahoo.config.model.api.ValidationParameters;
import com.yahoo.config.model.application.provider.BaseDeployLogger;
import com.yahoo.config.model.application.provider.MockFileRegistry;
@@ -28,7 +30,6 @@ import com.yahoo.vespa.config.ConfigDefinition;
import com.yahoo.vespa.config.ConfigDefinitionBuilder;
import com.yahoo.vespa.config.ConfigDefinitionKey;
import com.yahoo.vespa.documentmodel.DocumentModel;
-import com.yahoo.config.application.api.ValidationOverrides;
import com.yahoo.vespa.model.container.search.QueryProfiles;
import com.yahoo.vespa.model.container.search.QueryProfilesBuilder;
import com.yahoo.vespa.model.container.search.SemanticRuleBuilder;
@@ -63,7 +64,8 @@ public class DeployState implements ConfigDefinitionStore {
private final Optional<ConfigDefinitionRepo> configDefinitionRepo;
private final Optional<ApplicationPackage> permanentApplicationPackage;
private final Optional<Model> previousModel;
- private final DeployProperties properties;
+ private final ModelContext.Properties properties;
+ private final Version vespaVersion;
private final Set<Rotation> rotations;
private final Zone zone;
private final QueryProfiles queryProfiles;
@@ -88,7 +90,8 @@ public class DeployState implements ConfigDefinitionStore {
FileRegistry fileRegistry,
DeployLogger deployLogger,
Optional<HostProvisioner> hostProvisioner,
- DeployProperties properties,
+ ModelContext.Properties properties,
+ Version vespaVersion,
Optional<ApplicationPackage> permanentApplicationPackage,
Optional<ConfigDefinitionRepo> configDefinitionRepo,
java.util.Optional<Model> previousModel,
@@ -104,6 +107,7 @@ public class DeployState implements ConfigDefinitionStore {
this.rankProfileRegistry = rankProfileRegistry;
this.applicationPackage = applicationPackage;
this.properties = properties;
+ this.vespaVersion = vespaVersion;
this.previousModel = previousModel;
this.provisioner = hostProvisioner.orElse(getDefaultModelHostProvisioner(applicationPackage));
this.searchDefinitions = searchDocumentModel.getSearchDefinitions();
@@ -210,7 +214,9 @@ public class DeployState implements ConfigDefinitionStore {
return permanentApplicationPackage;
}
- public DeployProperties getProperties() { return properties; }
+ public ModelContext.Properties getProperties() { return properties; }
+
+ public Version getVespaVersion() { return vespaVersion; }
public Optional<Model> getPreviousModel() { return previousModel; }
@@ -243,7 +249,8 @@ public class DeployState implements ConfigDefinitionStore {
private DeployLogger logger = new BaseDeployLogger();
private Optional<HostProvisioner> hostProvisioner = Optional.empty();
private Optional<ApplicationPackage> permanentApplicationPackage = Optional.empty();
- private DeployProperties properties = new DeployProperties.Builder().build();
+ private ModelContext.Properties properties = new TestProperties();
+ private Version version = new Version(1, 0, 0);
private Optional<ConfigDefinitionRepo> configDefinitionRepo = Optional.empty();
private Optional<Model> previousModel = Optional.empty();
private Set<Rotation> rotations = new HashSet<>();
@@ -277,11 +284,16 @@ public class DeployState implements ConfigDefinitionStore {
return this;
}
- public Builder properties(DeployProperties properties) {
+ public Builder properties(ModelContext.Properties properties) {
this.properties = properties;
return this;
}
+ public Builder vespaVersion(Version version) {
+ this.version = version;
+ return this;
+ }
+
public Builder configDefinitionRepo(ConfigDefinitionRepo configDefinitionRepo) {
this.configDefinitionRepo = Optional.of(configDefinitionRepo);
return this;
@@ -333,6 +345,7 @@ public class DeployState implements ConfigDefinitionStore {
logger,
hostProvisioner,
properties,
+ version,
permanentApplicationPackage,
configDefinitionRepo,
previousModel,
diff --git a/config-model/src/main/java/com/yahoo/config/model/deploy/TestProperties.java b/config-model/src/main/java/com/yahoo/config/model/deploy/TestProperties.java
new file mode 100644
index 00000000000..83e595e1513
--- /dev/null
+++ b/config-model/src/main/java/com/yahoo/config/model/deploy/TestProperties.java
@@ -0,0 +1,76 @@
+// Copyright 2019 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+package com.yahoo.config.model.deploy;
+
+import com.google.common.collect.ImmutableList;
+import com.yahoo.config.model.api.ConfigServerSpec;
+import com.yahoo.config.model.api.ModelContext;
+import com.yahoo.config.provision.ApplicationId;
+import com.yahoo.config.provision.HostName;
+import com.yahoo.config.provision.Rotation;
+import com.yahoo.config.provision.Zone;
+import com.yahoo.vespa.model.admin.Configserver;
+
+import java.net.URI;
+import java.util.Collections;
+import java.util.List;
+import java.util.Set;
+
+/**
+ * A test-only Properties class
+ *
+ * <p>Unfortunately this has to be placed in non-test source tree since lots of code already have test code (fix later)
+ *
+ * @author hakonhall
+ */
+public class TestProperties implements ModelContext.Properties {
+ private boolean multitenant = false;
+ private ApplicationId applicationId = ApplicationId.defaultId();
+ private List<ConfigServerSpec> configServerSpecs = Collections.emptyList();
+ private HostName loadBalancerName = null;
+ private URI ztsUrl = null;
+ private String athenzDnsSuffix = null;
+ private boolean hostedVespa = false;
+ private Zone zone;
+ private Set<Rotation> rotations;
+ private boolean isBootstrap = false;
+ private boolean isFirstTimeDeployment = false;
+ private boolean useDedicatedNodeForLogserver = false;
+
+ @Override public boolean multitenant() { return multitenant; }
+ @Override public ApplicationId applicationId() { return applicationId; }
+ @Override public List<ConfigServerSpec> configServerSpecs() { return configServerSpecs; }
+ @Override public HostName loadBalancerName() { return loadBalancerName; }
+ @Override public URI ztsUrl() { return ztsUrl; }
+ @Override public String athenzDnsSuffix() { return athenzDnsSuffix; }
+ @Override public boolean hostedVespa() { return hostedVespa; }
+ @Override public Zone zone() { return zone; }
+ @Override public Set<Rotation> rotations() { return rotations; }
+ @Override public boolean isBootstrap() { return isBootstrap; }
+ @Override public boolean isFirstTimeDeployment() { return isFirstTimeDeployment; }
+ @Override public boolean useDedicatedNodeForLogserver() { return useDedicatedNodeForLogserver; }
+
+ public TestProperties setApplicationId(ApplicationId applicationId) {
+ this.applicationId = applicationId;
+ return this;
+ }
+
+ public TestProperties setHostedVespa(boolean hostedVespa) {
+ this.hostedVespa = hostedVespa;
+ return this;
+ }
+
+ public TestProperties setMultitenant(boolean multitenant) {
+ this.multitenant = multitenant;
+ return this;
+ }
+
+ public TestProperties setConfigServerSpecs(List<Configserver.Spec> configServerSpecs) {
+ this.configServerSpecs = ImmutableList.copyOf(configServerSpecs);
+ return this;
+ }
+
+ public TestProperties setUseDedicatedNodeForLogserver(boolean useDedicatedNodeForLogserver) {
+ this.useDedicatedNodeForLogserver = useDedicatedNodeForLogserver;
+ return this;
+ }
+}
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/VespaModelFactory.java b/config-model/src/main/java/com/yahoo/vespa/model/VespaModelFactory.java
index d3f4a122b1e..af6400023cc 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/VespaModelFactory.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/VespaModelFactory.java
@@ -1,7 +1,9 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.vespa.model;
+import ai.vespa.rankingexpression.importer.configmodelview.MlModelImporter;
import com.google.inject.Inject;
+import com.yahoo.component.Version;
import com.yahoo.component.provider.ComponentRegistry;
import com.yahoo.config.application.api.ApplicationPackage;
import com.yahoo.config.model.ConfigModelRegistry;
@@ -10,7 +12,6 @@ import com.yahoo.config.model.NullConfigModelRegistry;
import com.yahoo.config.model.api.ConfigChangeAction;
import com.yahoo.config.model.api.ConfigModelPlugin;
import com.yahoo.config.model.api.HostProvisioner;
-import ai.vespa.rankingexpression.importer.configmodelview.MlModelImporter;
import com.yahoo.config.model.api.Model;
import com.yahoo.config.model.api.ModelContext;
import com.yahoo.config.model.api.ModelCreateResult;
@@ -18,13 +19,10 @@ import com.yahoo.config.model.api.ModelFactory;
import com.yahoo.config.model.api.ValidationParameters;
import com.yahoo.config.model.application.provider.ApplicationPackageXmlFilesValidator;
import com.yahoo.config.model.builder.xml.ConfigModelBuilder;
-import com.yahoo.config.model.deploy.DeployProperties;
import com.yahoo.config.model.deploy.DeployState;
-import com.yahoo.component.Version;
import com.yahoo.config.provision.Zone;
import com.yahoo.vespa.config.VespaVersion;
import com.yahoo.vespa.model.application.validation.Validation;
-
import org.xml.sax.SAXException;
import java.io.IOException;
@@ -137,7 +135,8 @@ public class VespaModelFactory implements ModelFactory {
.configDefinitionRepo(modelContext.configDefinitionRepo())
.fileRegistry(modelContext.getFileRegistry())
.permanentApplicationPackage(modelContext.permanentApplicationPackage())
- .properties(createDeployProperties(modelContext.properties()))
+ .properties(modelContext.properties())
+ .vespaVersion(version())
.modelHostProvisioner(createHostProvisioner(modelContext))
.rotations(modelContext.properties().rotations())
.modelImporters(modelImporters)
@@ -148,22 +147,6 @@ public class VespaModelFactory implements ModelFactory {
return builder.build(validationParameters);
}
- private DeployProperties createDeployProperties(ModelContext.Properties properties) {
- return new DeployProperties.Builder()
- .applicationId(properties.applicationId())
- .configServerSpecs(properties.configServerSpecs())
- .loadBalancerName(properties.loadBalancerName())
- .ztsUrl(properties.ztsUrl())
- .athenzDnsSuffix(properties.athenzDnsSuffix())
- .multitenant(properties.multitenant())
- .hostedVespa(properties.hostedVespa())
- .vespaVersion(version())
- .isBootstrap(properties.isBootstrap())
- .isFirstTimeDeployment(properties.isFirstTimeDeployment())
- .useDedicatedNodeForLogserver(properties.useDedicatedNodeForLogserver())
- .build();
- }
-
private static HostProvisioner createHostProvisioner(ModelContext modelContext) {
return modelContext.hostProvisioner().orElse(
DeployState.getDefaultModelHostProvisioner(modelContext.applicationPackage()));
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/application/validation/ComponentValidator.java b/config-model/src/main/java/com/yahoo/vespa/model/application/validation/ComponentValidator.java
index 2bedead6b9a..7485bedf788 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/application/validation/ComponentValidator.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/application/validation/ComponentValidator.java
@@ -37,7 +37,7 @@ public class ComponentValidator extends Validator {
@Override
public void validate(VespaModel model, DeployState deployState) {
ApplicationPackage app = deployState.getApplicationPackage();
- for (ComponentInfo info : app.getComponentsInfo(deployState.getProperties().vespaVersion())) {
+ for (ComponentInfo info : app.getComponentsInfo(deployState.getVespaVersion())) {
try {
this.jarFile = new JarFile(app.getFileReference(Path.fromString(info.getPathRelativeToAppDir())));
} catch (ZipException e) {
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/VespaDomBuilder.java b/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/VespaDomBuilder.java
index 7e98804370f..62b76374af9 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/VespaDomBuilder.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/VespaDomBuilder.java
@@ -238,7 +238,7 @@ public class VespaDomBuilder extends VespaModelBuilder {
ApplicationConfigProducerRoot root = new ApplicationConfigProducerRoot(parent,
name,
deployState.getDocumentModel(),
- deployState.getProperties().vespaVersion(),
+ deployState.getVespaVersion(),
deployState.getProperties().applicationId());
root.setHostSystem(new HostSystem(root, "hosts", deployState.getProvisioner(), deployState.getDeployLogger()));
new Client(root);
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/ContainerCluster.java b/config-model/src/main/java/com/yahoo/vespa/model/container/ContainerCluster.java
index 7a10a97f4da..b133ea1de4c 100755
--- a/config-model/src/main/java/com/yahoo/vespa/model/container/ContainerCluster.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/container/ContainerCluster.java
@@ -350,7 +350,7 @@ public final class ContainerCluster
}
private void addAndSendApplicationBundles(DeployState deployState) {
- for (ComponentInfo component : deployState.getApplicationPackage().getComponentsInfo(deployState.getProperties().vespaVersion())) {
+ for (ComponentInfo component : deployState.getApplicationPackage().getComponentsInfo(deployState.getVespaVersion())) {
FileReference reference = FileSender.sendFileToServices(component.getPathRelativeToAppDir(), containers);
applicationBundles.add(reference);
}