summaryrefslogtreecommitdiffstats
path: root/config-model/src/main/java
diff options
context:
space:
mode:
authorHarald Musum <musum@verizonmedia.com>2020-04-22 13:27:16 +0200
committerHarald Musum <musum@verizonmedia.com>2020-04-22 13:27:16 +0200
commit824aa65535493c8ce7938059e4fee3bdcb5d0ed1 (patch)
tree4ed44930541d00968ab08658bc2cdd8b76784e7e /config-model/src/main/java
parentfa3b0772979e07edd0bcd7bf8845794fe9d559e1 (diff)
Use DockerImage instead of String
Diffstat (limited to 'config-model/src/main/java')
-rw-r--r--config-model/src/main/java/com/yahoo/config/model/deploy/DeployState.java11
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/VespaModelFactory.java2
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/NodesSpecification.java12
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilder.java5
4 files changed, 15 insertions, 15 deletions
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 3fb7ba6bc3a..c52ea1ef092 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
@@ -23,6 +23,7 @@ import com.yahoo.config.model.application.provider.MockFileRegistry;
import com.yahoo.config.model.provision.HostsXmlProvisioner;
import com.yahoo.config.model.provision.SingleNodeProvisioner;
import com.yahoo.config.model.test.MockApplicationPackage;
+import com.yahoo.config.provision.DockerImage;
import com.yahoo.config.provision.Zone;
import com.yahoo.io.IOUtils;
import com.yahoo.io.reader.NamedReader;
@@ -77,7 +78,7 @@ public class DeployState implements ConfigDefinitionStore {
private final ImportedMlModels importedModels;
private final ValidationOverrides validationOverrides;
private final Version wantedNodeVespaVersion;
- private final Optional<String> wantedDockerImageRepo;
+ private final Optional<DockerImage> wantedDockerImageRepo;
private final Instant now;
private final HostProvisioner provisioner;
private final Provisioned provisioned;
@@ -114,7 +115,7 @@ public class DeployState implements ConfigDefinitionStore {
Instant now,
Version wantedNodeVespaVersion,
boolean accessLoggingEnabledByDefault,
- Optional<String> wantedDockerImageRepo) {
+ Optional<DockerImage> wantedDockerImageRepo) {
this.logger = deployLogger;
this.fileRegistry = fileRegistry;
this.rankProfileRegistry = rankProfileRegistry;
@@ -266,7 +267,7 @@ public class DeployState implements ConfigDefinitionStore {
public Version getWantedNodeVespaVersion() { return wantedNodeVespaVersion; }
- public Optional<String> getWantedDockerImageRepo() { return wantedDockerImageRepo; }
+ public Optional<DockerImage> getWantedDockerImageRepo() { return wantedDockerImageRepo; }
public Instant now() { return now; }
@@ -306,7 +307,7 @@ public class DeployState implements ConfigDefinitionStore {
private Instant now = Instant.now();
private Version wantedNodeVespaVersion = Vtag.currentVersion;
private boolean accessLoggingEnabledByDefault = true;
- private Optional<String> wantedDockerImageRepo = Optional.empty();
+ private Optional<DockerImage> wantedDockerImageRepo = Optional.empty();
public Builder applicationPackage(ApplicationPackage applicationPackage) {
this.applicationPackage = applicationPackage;
@@ -383,7 +384,7 @@ public class DeployState implements ConfigDefinitionStore {
return this;
}
- public Builder wantedDockerImageRepo(Optional<String> dockerImageRepo) {
+ public Builder wantedDockerImageRepo(Optional<DockerImage> dockerImageRepo) {
this.wantedDockerImageRepo = dockerImageRepo;
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 631f4dab1a7..6a2ba5ed005 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
@@ -152,7 +152,7 @@ public class VespaModelFactory implements ModelFactory {
.zone(zone)
.now(clock.instant())
.wantedNodeVespaVersion(modelContext.wantedNodeVespaVersion())
- .wantedDockerImageRepo(modelContext.wantedDockerImageRepository());
+ .wantedDockerImageRepo(modelContext.wantedDockerImageRepo());
modelContext.previousModel().ifPresent(builder::previousModel);
return builder.build(validationParameters);
}
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 5418ba1a6ee..ea47e490b12 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
@@ -49,7 +49,7 @@ public class NodesSpecification {
private final boolean exclusive;
/** The repo part of a docker image (without tag), optional */
- private final Optional<String> dockerImageRepo;
+ private final Optional<DockerImage> dockerImageRepo;
/** The ID of the cluster referencing this node specification, if any */
private final Optional<String> combinedId;
@@ -58,7 +58,7 @@ public class NodesSpecification {
ClusterResources max,
boolean dedicated, Version version,
boolean required, boolean canFail, boolean exclusive,
- Optional<String> dockerImageRepo,
+ Optional<DockerImage> dockerImageRepo,
Optional<String> combinedId) {
if (max.smallerThan(min))
throw new IllegalArgumentException("Min resources must be larger or equal to max resources, but " +
@@ -84,7 +84,7 @@ public class NodesSpecification {
}
private static NodesSpecification create(boolean dedicated, boolean canFail, Version version,
- ModelElement nodesElement, Optional<String> dockerImageRepo) {
+ ModelElement nodesElement, Optional<DockerImage> dockerImageRepo) {
var resolvedElement = resolveElement(nodesElement);
var combinedId = findCombinedId(nodesElement, resolvedElement);
var resources = toResources(resolvedElement);
@@ -209,7 +209,7 @@ public class NodesSpecification {
.vespaVersion(version)
.exclusive(exclusive)
.combinedId(combinedId.map(ClusterSpec.Id::from))
- .dockerImageRepository(dockerImageRepo.map(DockerImage::fromString))
+ .dockerImageRepository(dockerImageRepo)
.build();
return hostSystem.allocateHosts(cluster, Capacity.from(min, max, required, canFail), logger);
}
@@ -370,9 +370,9 @@ public class NodesSpecification {
return new IllegalArgumentException("referenced service '" + referenceId + "' is not defined");
}
- private static Optional<String> dockerImageToUse(ModelElement nodesElement, Optional<String> dockerImage) {
+ private static Optional<DockerImage> dockerImageToUse(ModelElement nodesElement, Optional<DockerImage> dockerImage) {
String dockerImageFromElement = nodesElement.stringAttribute("docker-image");
- return dockerImageFromElement == null ? dockerImage : Optional.of(dockerImageFromElement);
+ return dockerImageFromElement == null ? dockerImage : Optional.of(DockerImage.fromString(dockerImageFromElement));
}
/** Parses a value ("value") or value range ("[min-value, max-value]") */
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilder.java b/config-model/src/main/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilder.java
index 78ef475653d..2fba8189046 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilder.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilder.java
@@ -25,7 +25,6 @@ import com.yahoo.config.provision.Capacity;
import com.yahoo.config.provision.ClusterMembership;
import com.yahoo.config.provision.ClusterResources;
import com.yahoo.config.provision.ClusterSpec;
-import com.yahoo.config.provision.DockerImage;
import com.yahoo.config.provision.Environment;
import com.yahoo.config.provision.HostName;
import com.yahoo.config.provision.NodeResources;
@@ -659,7 +658,7 @@ public class ContainerModelBuilder extends ConfigModelBuilder<ContainerModel> {
ClusterSpec clusterSpec = ClusterSpec.request(ClusterSpec.Type.container,
ClusterSpec.Id.from(cluster.getName()))
.vespaVersion(deployState.getWantedNodeVespaVersion())
- .dockerImageRepository(deployState.getWantedDockerImageRepo().map(DockerImage::fromString))
+ .dockerImageRepository(deployState.getWantedDockerImageRepo())
.build();
int nodeCount = deployState.zone().environment().isProduction() ? 2 : 1;
Capacity capacity = Capacity.from(new ClusterResources(nodeCount, 1, NodeResources.unspecified),
@@ -691,7 +690,7 @@ public class ContainerModelBuilder extends ConfigModelBuilder<ContainerModel> {
NodeType type = NodeType.valueOf(nodesElement.getAttribute("type"));
ClusterSpec clusterSpec = ClusterSpec.request(ClusterSpec.Type.container, ClusterSpec.Id.from(cluster.getName()))
.vespaVersion(context.getDeployState().getWantedNodeVespaVersion())
- .dockerImageRepository(context.getDeployState().getWantedDockerImageRepo().map(DockerImage::fromString))
+ .dockerImageRepository(context.getDeployState().getWantedDockerImageRepo())
.build();
Map<HostResource, ClusterMembership> hosts =
cluster.getRoot().hostSystem().allocateHosts(clusterSpec,