diff options
author | Valerij Fredriksen <valerijf@verizonmedia.com> | 2019-03-13 15:54:30 +0100 |
---|---|---|
committer | Valerij Fredriksen <valerijf@verizonmedia.com> | 2019-03-13 15:54:30 +0100 |
commit | bfc0d272d250d49fa9d673244eb71ee29a25b44b (patch) | |
tree | d717fe8633ef02d5a181ea375048a4bb4e465958 /docker-api/src/main | |
parent | e7e5610b092a1467d69d1dd66f17ca91149f364b (diff) |
Use config-provisioning DockerImage in docker-api
Diffstat (limited to 'docker-api/src/main')
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()), |