diff options
author | Jon Bratseth <bratseth@yahoo-inc.com> | 2017-04-07 16:49:04 +0200 |
---|---|---|
committer | Jon Bratseth <bratseth@yahoo-inc.com> | 2017-04-07 16:49:04 +0200 |
commit | 025167b28f847e56333db4922d7a7543fcad7a1a (patch) | |
tree | a2466cbccc5fcffa89eb23464a915c83b83ef051 /config-model/src/main/java | |
parent | b2f526a6b79965b9ff871d8cdfe283dccc1eefe8 (diff) |
Pass wanted node Vespa version around
Diffstat (limited to 'config-model/src/main/java')
3 files changed, 17 insertions, 9 deletions
diff --git a/config-model/src/main/java/com/yahoo/config/model/test/TestDriver.java b/config-model/src/main/java/com/yahoo/config/model/test/TestDriver.java index 4518e44d441..38523b33549 100644 --- a/config-model/src/main/java/com/yahoo/config/model/test/TestDriver.java +++ b/config-model/src/main/java/com/yahoo/config/model/test/TestDriver.java @@ -2,6 +2,7 @@ package com.yahoo.config.model.test; import com.google.common.annotations.Beta; +import com.yahoo.component.Version; import com.yahoo.config.model.MapConfigModelRegistry; import com.yahoo.config.application.api.ApplicationPackage; import com.yahoo.config.model.application.provider.SchemaValidator; @@ -101,11 +102,11 @@ public class TestDriver { if (!validate) { return; } - SchemaValidator validator = SchemaValidator.createTestValidatorHosts(); + SchemaValidator validator = SchemaValidator.createTestValidatorHosts(new Version(6)); if (appPkg.getHosts() != null) { validator.validate(appPkg.getHosts()); } - validator = SchemaValidator.createTestValidatorServices(); + validator = SchemaValidator.createTestValidatorServices(new Version(6)); validator.validate(appPkg.getServices()); } } 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 35ea2134813..8e384b6e875 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 @@ -81,14 +81,24 @@ public class VespaModelFactory implements ModelFactory { } @Override - public ModelCreateResult createAndValidateModel(ModelContext modelContext, boolean ignoreValidationErrors) { + public ModelCreateResult createAndValidateModel(ModelContext modelContext, + boolean ignoreValidationErrors) { + validateXml(modelContext, ignoreValidationErrors); + DeployState deployState = createDeployState(modelContext); + VespaModel model = buildModel(deployState); + List<ConfigChangeAction> changeActions = validateModel(model, deployState, ignoreValidationErrors); + return new ModelCreateResult(model, changeActions); + } + + private void validateXml(ModelContext modelContext, boolean ignoreValidationErrors) { if (modelContext.appDir().isPresent()) { ApplicationPackageXmlFilesValidator validator = ApplicationPackageXmlFilesValidator.createDefaultXMLValidator(modelContext.appDir().get(), - modelContext.vespaVersion()); + modelContext.modelVespaVersion()); try { validator.checkApplication(); - ApplicationPackageXmlFilesValidator.checkIncludedDirs(modelContext.applicationPackage()); + ApplicationPackageXmlFilesValidator.checkIncludedDirs(modelContext.applicationPackage(), + modelContext.modelVespaVersion()); } catch (IllegalArgumentException e) { rethrowUnlessIgnoreErrors(e, ignoreValidationErrors); } catch (Exception e) { @@ -98,10 +108,6 @@ public class VespaModelFactory implements ModelFactory { } else { validateXML(modelContext.applicationPackage(), ignoreValidationErrors); } - DeployState deployState = createDeployState(modelContext); - VespaModel model = buildModel(deployState); - List<ConfigChangeAction> changeActions = validateModel(model, deployState, ignoreValidationErrors); - return new ModelCreateResult(model, changeActions); } private VespaModel buildModel(DeployState deployState) { diff --git a/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/NodesSpecification.java b/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/NodesSpecification.java index c83f6098a0f..8eab3b0082d 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/NodesSpecification.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/NodesSpecification.java @@ -33,6 +33,7 @@ public class NodesSpecification { private final Optional<String> flavor; + /** The identifier of the custom docker image layer to use (not supported yet) */ private final Optional<String> dockerImage; private NodesSpecification(boolean dedicated, int count, int groups, boolean required, |