diff options
author | Ola Aunrønning <olaa@verizonmedia.com> | 2020-07-02 14:23:11 +0200 |
---|---|---|
committer | Ola Aunrønning <olaa@verizonmedia.com> | 2020-07-02 14:23:30 +0200 |
commit | 69b97b155e3b8f74fe0239e709b952579d7b3036 (patch) | |
tree | 6c0fa963c2e1889e3a3e75440f60665123848808 /node-admin | |
parent | 0ba33ff6c954c9103521e072ce861f1a99891353 (diff) |
Consider currentDockerImage/wantedDockerImage if container is empty
Diffstat (limited to 'node-admin')
-rw-r--r-- | node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/maintenance/StorageMaintainer.java | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/maintenance/StorageMaintainer.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/maintenance/StorageMaintainer.java index f1645727b7c..7cef830655e 100644 --- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/maintenance/StorageMaintainer.java +++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/maintenance/StorageMaintainer.java @@ -3,6 +3,7 @@ package com.yahoo.vespa.hosted.node.admin.maintenance; import com.google.common.cache.Cache; import com.google.common.cache.CacheBuilder; +import com.yahoo.config.provision.DockerImage; import com.yahoo.config.provision.NodeType; import java.util.logging.Level; import com.yahoo.vespa.hosted.dockerapi.Container; @@ -37,6 +38,7 @@ import java.util.Optional; import java.util.concurrent.TimeUnit; import java.util.function.Function; import java.util.logging.Logger; +import java.util.stream.Stream; import static com.yahoo.vespa.hosted.node.admin.maintenance.disk.DiskCleanupRule.Priority; import static com.yahoo.yolean.Exceptions.uncheck; @@ -158,7 +160,7 @@ public class StorageMaintainer { attributes.put("kernel_version", System.getProperty("os.version")); attributes.put("cpu_microcode_version", getMicrocodeVersion()); - container.map(c -> c.image).ifPresent(image -> attributes.put("docker_image", image.asString())); + getDockerImage(context, container).ifPresent(image -> attributes.put("docker_image", image)); context.node().parentHostname().ifPresent(parent -> attributes.put("parent_hostname", parent)); context.node().currentVespaVersion().ifPresent(version -> attributes.put("vespa_version", version.toFullString())); context.node().owner().ifPresent(owner -> { @@ -199,4 +201,14 @@ public class StorageMaintainer { return results[1].trim(); } + + private Optional<String> getDockerImage(NodeAgentContext context, Optional<Container> container) { + return Stream.of( + container.map(c -> c.image.asString()), + context.node().currentDockerImage().map(DockerImage::asString), + context.node().wantedDockerImage().map(DockerImage::asString)) + .flatMap(Optional::stream) + .findFirst(); + + } } |