summaryrefslogtreecommitdiffstats
path: root/configserver
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 /configserver
parentfa3b0772979e07edd0bcd7bf8845794fe9d559e1 (diff)
Use DockerImage instead of String
Diffstat (limited to 'configserver')
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/deploy/Deployment.java3
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/deploy/ModelContextImpl.java10
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/modelfactory/ActivatedModelsBuilder.java3
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/modelfactory/ModelsBuilder.java8
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/modelfactory/PreparedModelsBuilder.java3
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/session/LocalSession.java5
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/session/PrepareParams.java15
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionPreparer.java5
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionZooKeeperClient.java9
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/ModelContextImplTest.java2
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/deploy/HostedDeployTest.java3
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/http/SessionHandlerTest.java5
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/SessionPrepareHandlerTest.java3
13 files changed, 47 insertions, 27 deletions
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/deploy/Deployment.java b/configserver/src/main/java/com/yahoo/vespa/config/server/deploy/Deployment.java
index 4bd5cf30cc6..079a05167b0 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/deploy/Deployment.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/deploy/Deployment.java
@@ -5,6 +5,7 @@ import com.yahoo.component.Version;
import com.yahoo.config.application.api.DeployLogger;
import com.yahoo.config.provision.ApplicationId;
import com.yahoo.config.provision.AthenzDomain;
+import com.yahoo.config.provision.DockerImage;
import com.yahoo.config.provision.HostFilter;
import com.yahoo.config.provision.Provisioner;
import com.yahoo.log.LogLevel;
@@ -49,7 +50,7 @@ public class Deployment implements com.yahoo.config.provision.Deployment {
private final DeployLogger logger = new SilentDeployLogger();
/** The repository part of docker image this application should run on. Version is separate from image repo */
- Optional<String> dockerImageRepository;
+ Optional<DockerImage> dockerImageRepository;
/** The Vespa version this application should run on */
private final Version version;
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/deploy/ModelContextImpl.java b/configserver/src/main/java/com/yahoo/vespa/config/server/deploy/ModelContextImpl.java
index 2773659559b..89714392869 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/deploy/ModelContextImpl.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/deploy/ModelContextImpl.java
@@ -16,6 +16,7 @@ import com.yahoo.config.model.api.Provisioned;
import com.yahoo.config.model.api.TlsSecrets;
import com.yahoo.config.provision.ApplicationId;
import com.yahoo.config.provision.AthenzDomain;
+import com.yahoo.config.provision.DockerImage;
import com.yahoo.config.provision.HostName;
import com.yahoo.config.provision.Zone;
import com.yahoo.vespa.flags.FetchVector;
@@ -46,7 +47,7 @@ public class ModelContextImpl implements ModelContext {
private final ModelContext.Properties properties;
private final Optional<File> appDir;
- private final Optional<String> wantedDockerImageRepository;
+ private final Optional<DockerImage> wantedDockerImageRepository;
/** The version of Vespa we are building a model for */
private final Version modelVespaVersion;
@@ -70,7 +71,7 @@ public class ModelContextImpl implements ModelContext {
Provisioned provisioned,
ModelContext.Properties properties,
Optional<File> appDir,
- Optional<String> wantedDockerImageRepository,
+ Optional<DockerImage> wantedDockerImageRepository,
Version modelVespaVersion,
Version wantedNodeVespaVersion) {
this.applicationPackage = applicationPackage;
@@ -124,7 +125,10 @@ public class ModelContextImpl implements ModelContext {
public Optional<File> appDir() { return appDir; }
@Override
- public Optional<String> wantedDockerImageRepository() { return wantedDockerImageRepository; }
+ public Optional<String> wantedDockerImageRepository() { return wantedDockerImageRepository.map(DockerImage::repository); }
+
+ @Override
+ public Optional<DockerImage> wantedDockerImageRepo() { return wantedDockerImageRepository; }
@Override
public Version modelVespaVersion() { return modelVespaVersion; }
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/modelfactory/ActivatedModelsBuilder.java b/configserver/src/main/java/com/yahoo/vespa/config/server/modelfactory/ActivatedModelsBuilder.java
index 99bec2c9db7..f62d065960d 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/modelfactory/ActivatedModelsBuilder.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/modelfactory/ActivatedModelsBuilder.java
@@ -12,6 +12,7 @@ import com.yahoo.config.model.api.Provisioned;
import com.yahoo.config.model.application.provider.MockFileRegistry;
import com.yahoo.config.provision.AllocatedHosts;
import com.yahoo.config.provision.ApplicationId;
+import com.yahoo.config.provision.DockerImage;
import com.yahoo.config.provision.HostName;
import com.yahoo.config.provision.TenantName;
import com.yahoo.container.jdisc.secretstore.SecretStore;
@@ -84,7 +85,7 @@ public class ActivatedModelsBuilder extends ModelsBuilder<Application> {
protected Application buildModelVersion(ModelFactory modelFactory,
ApplicationPackage applicationPackage,
ApplicationId applicationId,
- Optional<String> wantedDockerImageRepository,
+ Optional<DockerImage> wantedDockerImageRepository,
Version wantedNodeVespaVersion,
Optional<AllocatedHosts> ignored, // Ignored since we have this in the app package for activated models
Instant now) {
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 cc4378ae05e..5cac74907d4 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
@@ -5,12 +5,12 @@ import com.google.common.util.concurrent.UncheckedTimeoutException;
import com.yahoo.cloud.config.ConfigserverConfig;
import com.yahoo.config.application.api.ApplicationPackage;
import com.yahoo.config.model.api.HostProvisioner;
-import com.yahoo.config.model.api.ModelContext;
import com.yahoo.config.model.api.ModelFactory;
import com.yahoo.config.model.api.Provisioned;
import com.yahoo.config.provision.AllocatedHosts;
import com.yahoo.config.provision.ApplicationId;
import com.yahoo.config.provision.ApplicationLockException;
+import com.yahoo.config.provision.DockerImage;
import com.yahoo.config.provision.OutOfCapacityException;
import com.yahoo.component.Version;
import com.yahoo.config.provision.TransientException;
@@ -73,7 +73,7 @@ public abstract class ModelsBuilder<MODELRESULT extends ModelResult> {
* and assigns to this SettableOptional such that it can be used after this method returns
*/
public List<MODELRESULT> buildModels(ApplicationId applicationId,
- Optional<String> dockerImageRepository,
+ Optional<DockerImage> dockerImageRepository,
Version wantedNodeVespaVersion,
ApplicationPackage applicationPackage,
SettableOptional<AllocatedHosts> allocatedHosts,
@@ -149,7 +149,7 @@ public abstract class ModelsBuilder<MODELRESULT extends ModelResult> {
// versions is the set of versions for one particular major version
private List<MODELRESULT> buildModelVersions(Set<Version> versions,
ApplicationId applicationId,
- Optional<String> wantedDockerImageRepository,
+ Optional<DockerImage> wantedDockerImageRepository,
Version wantedNodeVespaVersion,
ApplicationPackage applicationPackage,
SettableOptional<AllocatedHosts> allocatedHosts,
@@ -244,7 +244,7 @@ public abstract class ModelsBuilder<MODELRESULT extends ModelResult> {
}
protected abstract MODELRESULT buildModelVersion(ModelFactory modelFactory, ApplicationPackage applicationPackage,
- ApplicationId applicationId, Optional<String> dockerImageRepository,
+ ApplicationId applicationId, Optional<DockerImage> dockerImageRepository,
Version wantedNodeVespaVersion, Optional<AllocatedHosts> allocatedHosts,
Instant now);
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/modelfactory/PreparedModelsBuilder.java b/configserver/src/main/java/com/yahoo/vespa/config/server/modelfactory/PreparedModelsBuilder.java
index 6d0403f21c8..82648d40d60 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/modelfactory/PreparedModelsBuilder.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/modelfactory/PreparedModelsBuilder.java
@@ -18,6 +18,7 @@ import com.yahoo.config.model.application.provider.FilesApplicationPackage;
import com.yahoo.config.provision.ApplicationId;
import com.yahoo.config.provision.AllocatedHosts;
import com.yahoo.component.Version;
+import com.yahoo.config.provision.DockerImage;
import com.yahoo.log.LogLevel;
import com.yahoo.vespa.config.server.application.Application;
import com.yahoo.vespa.config.server.application.ApplicationSet;
@@ -84,7 +85,7 @@ public class PreparedModelsBuilder extends ModelsBuilder<PreparedModelsBuilder.P
protected PreparedModelResult buildModelVersion(ModelFactory modelFactory,
ApplicationPackage applicationPackage,
ApplicationId applicationId,
- Optional<String> wantedDockerImageRepository,
+ Optional<DockerImage> wantedDockerImageRepository,
Version wantedNodeVespaVersion,
Optional<AllocatedHosts> allocatedHosts,
Instant now) {
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/session/LocalSession.java b/configserver/src/main/java/com/yahoo/vespa/config/server/session/LocalSession.java
index 825ae0d8d92..4946c24efbc 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/session/LocalSession.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/session/LocalSession.java
@@ -8,6 +8,7 @@ import com.yahoo.config.application.api.ApplicationMetaData;
import com.yahoo.config.application.api.DeployLogger;
import com.yahoo.config.provision.AllocatedHosts;
import com.yahoo.config.provision.AthenzDomain;
+import com.yahoo.config.provision.DockerImage;
import com.yahoo.transaction.AbstractTransaction;
import com.yahoo.transaction.NestedTransaction;
import com.yahoo.transaction.Transaction;
@@ -139,7 +140,7 @@ public class LocalSession extends Session implements Comparable<LocalSession> {
zooKeeperClient.writeVespaVersion(version);
}
- public void setDockerImageRepository(Optional<String> dockerImageRepository) {
+ public void setDockerImageRepository(Optional<DockerImage> dockerImageRepository) {
zooKeeperClient.writeDockerImageRepository(dockerImageRepository);
}
@@ -157,7 +158,7 @@ public class LocalSession extends Session implements Comparable<LocalSession> {
public ApplicationId getApplicationId() { return zooKeeperClient.readApplicationId(); }
- public Optional<String> getDockerImageRepository() { return zooKeeperClient.readDockerImageRepository(); }
+ public Optional<DockerImage> getDockerImageRepository() { return zooKeeperClient.readDockerImageRepository(); }
public Version getVespaVersion() { return zooKeeperClient.readVespaVersion(); }
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/session/PrepareParams.java b/configserver/src/main/java/com/yahoo/vespa/config/server/session/PrepareParams.java
index f7ed801ddbd..df5e3d630ff 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/session/PrepareParams.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/session/PrepareParams.java
@@ -6,6 +6,7 @@ import com.yahoo.config.model.api.ContainerEndpoint;
import com.yahoo.config.model.api.EndpointCertificateMetadata;
import com.yahoo.config.provision.ApplicationId;
import com.yahoo.config.provision.AthenzDomain;
+import com.yahoo.config.provision.DockerImage;
import com.yahoo.config.provision.TenantName;
import com.yahoo.container.jdisc.HttpRequest;
import com.yahoo.slime.Slime;
@@ -49,14 +50,14 @@ public final class PrepareParams {
private final List<ContainerEndpoint> containerEndpoints;
private final Optional<String> tlsSecretsKeyName;
private final Optional<EndpointCertificateMetadata> endpointCertificateMetadata;
- private final Optional<String> dockerImageRepository;
+ private final Optional<DockerImage> dockerImageRepository;
private final Optional<AthenzDomain> athenzDomain;
private PrepareParams(ApplicationId applicationId, TimeoutBudget timeoutBudget, boolean ignoreValidationErrors,
boolean dryRun, boolean verbose, boolean isBootstrap, Optional<Version> vespaVersion,
List<ContainerEndpoint> containerEndpoints, Optional<String> tlsSecretsKeyName,
Optional<EndpointCertificateMetadata> endpointCertificateMetadata,
- Optional<String> dockerImageRepository, Optional<AthenzDomain> athenzDomain) {
+ Optional<DockerImage> dockerImageRepository, Optional<AthenzDomain> athenzDomain) {
this.timeoutBudget = timeoutBudget;
this.applicationId = applicationId;
this.ignoreValidationErrors = ignoreValidationErrors;
@@ -83,7 +84,7 @@ public final class PrepareParams {
private List<ContainerEndpoint> containerEndpoints = List.of();
private Optional<String> tlsSecretsKeyName = Optional.empty();
private Optional<EndpointCertificateMetadata> endpointCertificateMetadata = Optional.empty();
- private Optional<String> dockerImageRepository = Optional.empty();
+ private Optional<DockerImage> dockerImageRepository = Optional.empty();
private Optional<AthenzDomain> athenzDomain = Optional.empty();
public Builder() { }
@@ -154,6 +155,12 @@ public final class PrepareParams {
public Builder dockerImageRepository(String dockerImageRepository) {
if (dockerImageRepository == null) return this;
+ this.dockerImageRepository = Optional.of(DockerImage.fromString(dockerImageRepository));
+ return this;
+ }
+
+ public Builder dockerImageRepository(DockerImage dockerImageRepository) {
+ if (dockerImageRepository == null) return this;
this.dockerImageRepository = Optional.of(dockerImageRepository);
return this;
}
@@ -249,7 +256,7 @@ public final class PrepareParams {
return endpointCertificateMetadata;
}
- public Optional<String> dockerImageRepository() {
+ public Optional<DockerImage> dockerImageRepository() {
return dockerImageRepository;
}
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionPreparer.java b/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionPreparer.java
index 6c77964a58b..535ab8eaf86 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionPreparer.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionPreparer.java
@@ -18,6 +18,7 @@ import com.yahoo.config.model.api.EndpointCertificateSecrets;
import com.yahoo.config.provision.AllocatedHosts;
import com.yahoo.config.provision.ApplicationId;
import com.yahoo.config.provision.AthenzDomain;
+import com.yahoo.config.provision.DockerImage;
import com.yahoo.config.provision.HostName;
import com.yahoo.config.provision.Zone;
import com.yahoo.container.jdisc.secretstore.SecretStore;
@@ -141,7 +142,7 @@ public class SessionPreparer {
final ApplicationId applicationId;
/** The repository part of docker image to be used for this deployment */
- final Optional<String> dockerImageRepository;
+ final Optional<DockerImage> dockerImageRepository;
/** The version of Vespa the application to be prepared specifies for its nodes */
final Version vespaVersion;
@@ -291,7 +292,7 @@ public class SessionPreparer {
private void writeStateToZooKeeper(SessionZooKeeperClient zooKeeperClient,
ApplicationPackage applicationPackage,
ApplicationId applicationId,
- Optional<String> dockerImageRepository,
+ Optional<DockerImage> dockerImageRepository,
Version vespaVersion,
DeployLogger deployLogger,
Map<Version, FileRegistry> fileRegistryMap,
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionZooKeeperClient.java b/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionZooKeeperClient.java
index 81777bf3642..64d4be680b8 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionZooKeeperClient.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionZooKeeperClient.java
@@ -9,6 +9,7 @@ import com.yahoo.config.model.api.ConfigDefinitionRepo;
import com.yahoo.config.provision.AllocatedHosts;
import com.yahoo.config.provision.ApplicationId;
import com.yahoo.config.provision.AthenzDomain;
+import com.yahoo.config.provision.DockerImage;
import com.yahoo.config.provision.NodeFlavors;
import com.yahoo.log.LogLevel;
import com.yahoo.path.Path;
@@ -185,14 +186,14 @@ public class SessionZooKeeperClient {
return new Version(configCurator.getData(versionPath()));
}
- public Optional<String> readDockerImageRepository() {
+ public Optional<DockerImage> readDockerImageRepository() {
if ( ! configCurator.exists(dockerImageRepositoryPath())) return Optional.empty();
String dockerImageRepository = configCurator.getData(dockerImageRepositoryPath());
- return dockerImageRepository.isEmpty() ? Optional.empty() : Optional.of(dockerImageRepository);
+ return dockerImageRepository.isEmpty() ? Optional.empty() : Optional.of(DockerImage.fromString(dockerImageRepository));
}
- public void writeDockerImageRepository(Optional<String> dockerImageRepository) {
- dockerImageRepository.ifPresent(repo -> configCurator.putData(dockerImageRepositoryPath(), repo));
+ public void writeDockerImageRepository(Optional<DockerImage> dockerImageRepository) {
+ dockerImageRepository.ifPresent(repo -> configCurator.putData(dockerImageRepositoryPath(), repo.repository()));
}
// in seconds
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/ModelContextImplTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/ModelContextImplTest.java
index 03c6bad79a8..20e8524b9b8 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/ModelContextImplTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/ModelContextImplTest.java
@@ -81,7 +81,7 @@ public class ModelContextImplTest {
assertThat(context.properties().endpoints(), equalTo(endpoints));
assertThat(context.properties().isFirstTimeDeployment(), equalTo(false));
- assertEquals(Optional.empty(), context.wantedDockerImageRepository());
+ assertEquals(Optional.empty(), context.wantedDockerImageRepo());
assertEquals(new Version(7), context.modelVespaVersion());
assertEquals(new Version(8), context.wantedNodeVespaVersion());
assertEquals(1.0, context.properties().defaultTermwiseLimit(), 0.0);
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/deploy/HostedDeployTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/deploy/HostedDeployTest.java
index 7e700b78bf7..d8534774e33 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/deploy/HostedDeployTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/deploy/HostedDeployTest.java
@@ -15,6 +15,7 @@ import com.yahoo.config.model.provision.Hosts;
import com.yahoo.config.model.provision.InMemoryProvisioner;
import com.yahoo.config.model.test.HostedConfigModelRegistry;
import com.yahoo.config.provision.ApplicationId;
+import com.yahoo.config.provision.DockerImage;
import com.yahoo.config.provision.Environment;
import com.yahoo.config.provision.RegionName;
import com.yahoo.config.provision.Zone;
@@ -101,7 +102,7 @@ public class HostedDeployTest {
assertTrue(deployment.isPresent());
deployment.get().activate();
assertEquals("4.5.6", ((Deployment) deployment.get()).session().getVespaVersion().toString());
- assertEquals(dockerImageRepository, ((Deployment) deployment.get()).session().getDockerImageRepository().get());
+ assertEquals(DockerImage.fromString(dockerImageRepository), ((Deployment) deployment.get()).session().getDockerImageRepository().get());
assertEquals("foo", ((Deployment) deployment.get()).session().getAthenzDomain().get().value());
}
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/http/SessionHandlerTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/http/SessionHandlerTest.java
index 5b0bb7885d8..89a901ad051 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/http/SessionHandlerTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/http/SessionHandlerTest.java
@@ -9,6 +9,7 @@ import com.yahoo.config.model.application.provider.FilesApplicationPackage;
import com.yahoo.config.provision.ApplicationId;
import com.yahoo.config.provision.Capacity;
import com.yahoo.config.provision.ClusterSpec;
+import com.yahoo.config.provision.DockerImage;
import com.yahoo.config.provision.HostFilter;
import com.yahoo.config.provision.HostSpec;
import com.yahoo.config.provision.ProvisionLogger;
@@ -101,7 +102,7 @@ public class SessionHandlerTest {
private ConfigChangeActions actions = new ConfigChangeActions();
private long createTime = System.currentTimeMillis() / 1000;
private ApplicationId applicationId;
- private Optional<String> dockerImageRepository;
+ private Optional<DockerImage> dockerImageRepository;
public MockSession(long id, ApplicationPackage app) {
this(id, app, new InMemoryFlagSource());
@@ -174,7 +175,7 @@ public class SessionHandlerTest {
public void delete(NestedTransaction transaction) { }
@Override
- public Optional<String> getDockerImageRepository() {
+ public Optional<DockerImage> getDockerImageRepository() {
return dockerImageRepository;
}
}
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/SessionPrepareHandlerTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/SessionPrepareHandlerTest.java
index 11cbdb03ccf..94276b30f42 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/SessionPrepareHandlerTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/SessionPrepareHandlerTest.java
@@ -9,6 +9,7 @@ import com.yahoo.config.model.api.ServiceInfo;
import com.yahoo.config.model.test.MockApplicationPackage;
import com.yahoo.config.provision.ApplicationId;
import com.yahoo.config.provision.ApplicationLockException;
+import com.yahoo.config.provision.DockerImage;
import com.yahoo.config.provision.OutOfCapacityException;
import com.yahoo.config.provision.TenantName;
import com.yahoo.container.jdisc.HttpResponse;
@@ -336,7 +337,7 @@ public class SessionPrepareHandlerTest extends SessionHandlerTest {
localRepo.addSession(session);
String dockerImageRepository = "https://foo.bar.com:4443/baz";
request(HttpRequest.Method.PUT, 1L, Map.of("dockerImageRepository", dockerImageRepository));
- assertEquals(dockerImageRepository, localRepo.getSession(1).getDockerImageRepository().get());
+ assertEquals(DockerImage.fromString(dockerImageRepository), localRepo.getSession(1).getDockerImageRepository().get());
}
private Slime getData(HttpResponse response) throws IOException {