diff options
author | Harald Musum <musum@verizonmedia.com> | 2020-04-22 13:27:16 +0200 |
---|---|---|
committer | Harald Musum <musum@verizonmedia.com> | 2020-04-22 13:27:16 +0200 |
commit | 824aa65535493c8ce7938059e4fee3bdcb5d0ed1 (patch) | |
tree | 4ed44930541d00968ab08658bc2cdd8b76784e7e /config-model/src/main/java | |
parent | fa3b0772979e07edd0bcd7bf8845794fe9d559e1 (diff) |
Use DockerImage instead of String
Diffstat (limited to 'config-model/src/main/java')
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, |