summaryrefslogtreecommitdiffstats
path: root/node-admin
diff options
context:
space:
mode:
authorOla Aunrønning <olaa@verizonmedia.com>2020-07-02 14:23:11 +0200
committerOla Aunrønning <olaa@verizonmedia.com>2020-07-02 14:23:30 +0200
commit69b97b155e3b8f74fe0239e709b952579d7b3036 (patch)
tree6c0fa963c2e1889e3a3e75440f60665123848808 /node-admin
parent0ba33ff6c954c9103521e072ce861f1a99891353 (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.java14
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();
+
+ }
}