From 69b97b155e3b8f74fe0239e709b952579d7b3036 Mon Sep 17 00:00:00 2001 From: Ola Aunrønning Date: Thu, 2 Jul 2020 14:23:11 +0200 Subject: Consider currentDockerImage/wantedDockerImage if container is empty --- .../hosted/node/admin/maintenance/StorageMaintainer.java | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) 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 getDockerImage(NodeAgentContext context, Optional 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(); + + } } -- cgit v1.2.3 From 892f8d20ca43990a7f477600d3a1a29ecde44273 Mon Sep 17 00:00:00 2001 From: Ola Aunrønning Date: Thu, 2 Jul 2020 15:56:58 +0200 Subject: Use if no current docker image --- .../hosted/node/admin/maintenance/StorageMaintainer.java | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 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 7cef830655e..30ca2e0d218 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 @@ -160,7 +160,7 @@ public class StorageMaintainer { attributes.put("kernel_version", System.getProperty("os.version")); attributes.put("cpu_microcode_version", getMicrocodeVersion()); - getDockerImage(context, container).ifPresent(image -> attributes.put("docker_image", image)); + attributes.put("docker_image", getDockerImage(context, container)); 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 -> { @@ -202,13 +202,11 @@ public class StorageMaintainer { return results[1].trim(); } - private Optional getDockerImage(NodeAgentContext context, Optional 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(); - + private String getDockerImage(NodeAgentContext context, Optional container) { + return container.map(c -> c.image.asString()) + .orElse(context.node().currentDockerImage() + .map(DockerImage::asString) + .orElse("") + ); } } -- cgit v1.2.3