summaryrefslogtreecommitdiffstats
path: root/docker-api/src/main
diff options
context:
space:
mode:
authorValerij Fredriksen <valerijf@verizonmedia.com>2019-03-13 15:54:30 +0100
committerValerij Fredriksen <valerijf@verizonmedia.com>2019-03-13 15:54:30 +0100
commitbfc0d272d250d49fa9d673244eb71ee29a25b44b (patch)
treed717fe8633ef02d5a181ea375048a4bb4e465958 /docker-api/src/main
parente7e5610b092a1467d69d1dd66f17ca91149f364b (diff)
Use config-provisioning DockerImage in docker-api
Diffstat (limited to 'docker-api/src/main')
-rw-r--r--docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/Container.java2
-rw-r--r--docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/CreateContainerCommandImpl.java1
-rw-r--r--docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/Docker.java2
-rw-r--r--docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/DockerImage.java44
-rw-r--r--docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/DockerImageGarbageCollector.java5
-rw-r--r--docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/DockerImpl.java3
6 files changed, 10 insertions, 47 deletions
diff --git a/docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/Container.java b/docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/Container.java
index f6e1d833e50..1e861f230ce 100644
--- a/docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/Container.java
+++ b/docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/Container.java
@@ -1,6 +1,8 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.vespa.hosted.dockerapi;
+import com.yahoo.config.provision.DockerImage;
+
import java.util.Objects;
/**
diff --git a/docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/CreateContainerCommandImpl.java b/docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/CreateContainerCommandImpl.java
index d6f5ccbbea8..db4dc303ab9 100644
--- a/docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/CreateContainerCommandImpl.java
+++ b/docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/CreateContainerCommandImpl.java
@@ -7,6 +7,7 @@ import com.github.dockerjava.api.model.Bind;
import com.github.dockerjava.api.model.Capability;
import com.github.dockerjava.api.model.HostConfig;
import com.github.dockerjava.api.model.Ulimit;
+import com.yahoo.config.provision.DockerImage;
import com.yahoo.vespa.hosted.dockerapi.exception.DockerException;
import java.net.Inet6Address;
diff --git a/docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/Docker.java b/docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/Docker.java
index 4f454520897..51af58e465a 100644
--- a/docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/Docker.java
+++ b/docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/Docker.java
@@ -1,6 +1,8 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.vespa.hosted.dockerapi;
+import com.yahoo.config.provision.DockerImage;
+
import java.net.InetAddress;
import java.nio.file.Path;
import java.time.Duration;
diff --git a/docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/DockerImage.java b/docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/DockerImage.java
deleted file mode 100644
index 033e227c7bf..00000000000
--- a/docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/DockerImage.java
+++ /dev/null
@@ -1,44 +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.vespa.hosted.dockerapi;
-
-import java.util.Objects;
-
-/**
- * Type-safe value wrapper for docker image reference.
- *
- * @author bakksjo
- */
-public class DockerImage {
- private final String imageId;
-
- public DockerImage(final String imageId) {
- this.imageId = Objects.requireNonNull(imageId);
- }
-
- public String asString() {
- return imageId;
- }
-
- @Override
- public int hashCode() {
- return imageId.hashCode();
- }
-
- @Override
- public boolean equals(final Object o) {
- if (!(o instanceof DockerImage)) {
- return false;
- }
-
- final DockerImage other = (DockerImage) o;
-
- return Objects.equals(imageId, other.imageId);
- }
-
- @Override
- public String toString() {
- return getClass().getSimpleName() + " {"
- + " imageId=" + imageId
- + " }";
- }
-}
diff --git a/docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/DockerImageGarbageCollector.java b/docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/DockerImageGarbageCollector.java
index dd6ff436aae..4eeb00c7685 100644
--- a/docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/DockerImageGarbageCollector.java
+++ b/docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/DockerImageGarbageCollector.java
@@ -1,10 +1,11 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.vespa.hosted.dockerapi;
-import com.github.dockerjava.api.model.Image;
import com.github.dockerjava.api.model.Container;
+import com.github.dockerjava.api.model.Image;
import com.google.common.base.Strings;
import com.yahoo.collections.Pair;
+import com.yahoo.config.provision.DockerImage;
import java.time.Clock;
import java.time.Duration;
@@ -129,7 +130,7 @@ class DockerImageGarbageCollector {
.orElse(Stream.of(image.getId()))
.forEach(imageReference -> {
logger.info("Deleting unused docker image " + imageReference);
- docker.deleteImage(new DockerImage(imageReference));
+ docker.deleteImage(DockerImage.fromString(imageReference));
});
lastTimeUsedByImageId.remove(image.getId());
diff --git a/docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/DockerImpl.java b/docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/DockerImpl.java
index 73bf1a9edc8..801b9b03bb4 100644
--- a/docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/DockerImpl.java
+++ b/docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/DockerImpl.java
@@ -21,6 +21,7 @@ import com.github.dockerjava.core.command.ExecStartResultCallback;
import com.github.dockerjava.core.command.PullImageResultCallback;
import com.github.dockerjava.jaxrs.JerseyDockerCmdExecFactory;
import com.google.inject.Inject;
+import com.yahoo.config.provision.DockerImage;
import com.yahoo.log.LogLevel;
import com.yahoo.vespa.hosted.dockerapi.exception.ContainerNotFoundException;
import com.yahoo.vespa.hosted.dockerapi.exception.DockerException;
@@ -278,7 +279,7 @@ public class DockerImpl implements Docker {
.map(response ->
new Container(
response.getConfig().getHostName(),
- new DockerImage(response.getConfig().getImage()),
+ DockerImage.fromString(response.getConfig().getImage()),
containerResourcesFromHostConfig(response.getHostConfig()),
new ContainerName(decode(response.getName())),
Container.State.valueOf(response.getState().getStatus().toUpperCase()),