diff options
author | Harald Musum <musum@verizonmedia.com> | 2021-10-15 10:10:17 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-10-15 10:10:17 +0200 |
commit | e114ab86fe71aac1f4d252f079f9afa8e3c598c5 (patch) | |
tree | 956a7e4abe44edcf7ea87e833d0d63306661fc07 | |
parent | 7a1b8e39ce5f6b7ed4d425e7ca879fc7617a21e3 (diff) | |
parent | fb5e4c3c899b0ba0586d50c847204c0fc38bd419 (diff) |
Merge pull request #19577 from vespa-engine/mpolden/remove-dead-code
Remove dead code
4 files changed, 10 insertions, 87 deletions
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/node/Generation.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/node/Generation.java index 2894e1575ca..5a3e5527a0a 100644 --- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/node/Generation.java +++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/node/Generation.java @@ -1,8 +1,6 @@ // Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.vespa.hosted.provision.node; -import javax.annotation.concurrent.Immutable; - /** * An immutable generation, with wanted and current generation fields. Wanted generation * is increased when an action (restart services or reboot are the available @@ -10,7 +8,6 @@ import javax.annotation.concurrent.Immutable; * * @author hmusum */ -@Immutable public class Generation { private final long wanted; diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/persistence/NodeTypeContainerImagesSerializer.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/persistence/NodeTypeContainerImagesSerializer.java deleted file mode 100644 index 058b5a45d8c..00000000000 --- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/persistence/NodeTypeContainerImagesSerializer.java +++ /dev/null @@ -1,46 +0,0 @@ -// Copyright 2019 Oath Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -package com.yahoo.vespa.hosted.provision.persistence; - -import com.yahoo.config.provision.DockerImage; -import com.yahoo.config.provision.NodeType; -import com.yahoo.slime.Cursor; -import com.yahoo.slime.Inspector; -import com.yahoo.slime.ObjectTraverser; -import com.yahoo.slime.Slime; -import com.yahoo.slime.SlimeUtils; - -import java.io.IOException; -import java.io.UncheckedIOException; -import java.util.Map; -import java.util.TreeMap; - -/** - * Serializer for docker images that are set per node type. - * - * @author freva - */ -public class NodeTypeContainerImagesSerializer { - - private NodeTypeContainerImagesSerializer() {} - - public static byte[] toJson(Map<NodeType, DockerImage> dockerImages) { - Slime slime = new Slime(); - Cursor object = slime.setObject(); - dockerImages.forEach((nodeType, dockerImage) -> - object.setString(NodeSerializer.toString(nodeType), dockerImage.asString())); - try { - return SlimeUtils.toJsonBytes(slime); - } catch (IOException e) { - throw new UncheckedIOException(e); - } - } - - public static Map<NodeType, DockerImage> fromJson(byte[] data) { - Map<NodeType, DockerImage> images = new TreeMap<>(); // Use TreeMap to sort by node type - Inspector inspector = SlimeUtils.jsonToSlime(data).get(); - inspector.traverse((ObjectTraverser) (key, value) -> - images.put(NodeSerializer.nodeTypeFromString(key), DockerImage.fromString(value.asString()))); - return images; - } - -} diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/NodesResponse.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/NodesResponse.java index 02b426ed6fc..b7b334aaba4 100644 --- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/NodesResponse.java +++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/NodesResponse.java @@ -4,7 +4,6 @@ package com.yahoo.vespa.hosted.provision.restapi; import com.yahoo.config.provision.ApplicationId; import com.yahoo.config.provision.ClusterMembership; import com.yahoo.config.provision.DockerImage; -import com.yahoo.config.provision.Flavor; import com.yahoo.config.provision.NodeResources; import com.yahoo.config.provision.NodeType; import com.yahoo.config.provision.serialization.NetworkPortsSerializer; @@ -166,7 +165,7 @@ class NodesResponse extends SlimeJsonResponse { if (node.type().isHost()) nodeRepository.firmwareChecks().requiredAfter().ifPresent(after -> object.setLong("wantedFirmwareCheck", after.toEpochMilli())); node.status().vespaVersion().ifPresent(version -> object.setString("vespaVersion", version.toFullString())); - currentDockerImage(node).ifPresent(dockerImage -> object.setString("currentDockerImage", dockerImage.asString())); + currentContainerImage(node).ifPresent(image -> object.setString("currentDockerImage", image.asString())); object.setLong("failCount", node.status().failCount()); object.setBool("wantToRetire", node.status().wantToRetire()); object.setBool("preferToRetire", node.status().preferToRetire()); @@ -206,14 +205,15 @@ class NodesResponse extends SlimeJsonResponse { } } - // Hack: For non-docker nodes, return current docker image as default prefix + current Vespa version - // TODO: Remove current + wanted docker image from response for non-docker types - private Optional<DockerImage> currentDockerImage(Node node) { - return node.status().containerImage() - .or(() -> Optional.of(node) - .filter(n -> n.flavor().getType() != Flavor.Type.DOCKER_CONTAINER) - .flatMap(n -> n.status().vespaVersion() - .map(version -> nodeRepository.containerImages().get(n).withTag(version)))); + private Optional<DockerImage> currentContainerImage(Node node) { + if (node.status().containerImage().isPresent()) { + return node.status().containerImage(); + } + if (node.type().isHost()) { + // Return the image used by children of this host. This is used by host-admin to preload container images. + return node.status().vespaVersion().map(version -> nodeRepository.containerImages().get(node).withTag(version)); + } + return Optional.empty(); } private void ipAddressesToSlime(Set<String> ipAddresses, Cursor array) { diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/persistence/NodeTypeContainerImagesSerializerTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/persistence/NodeTypeContainerImagesSerializerTest.java deleted file mode 100644 index 4d4669f0b42..00000000000 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/persistence/NodeTypeContainerImagesSerializerTest.java +++ /dev/null @@ -1,28 +0,0 @@ -// Copyright 2019 Oath Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -package com.yahoo.vespa.hosted.provision.persistence; - -import com.yahoo.config.provision.DockerImage; -import com.yahoo.config.provision.NodeType; -import org.junit.Test; - -import java.util.Map; -import java.util.TreeMap; - -import static org.junit.Assert.assertEquals; - -/** - * @author freva - */ -public class NodeTypeContainerImagesSerializerTest { - - @Test - public void test_serialization() { - Map<NodeType, DockerImage> images = new TreeMap<>(); - images.put(NodeType.host, DockerImage.fromString("docker.domain.tld/my/repo:1.2.3")); - images.put(NodeType.confighost, DockerImage.fromString("docker.domain.tld/my/image:2.1")); - - Map<NodeType, DockerImage> serialized = NodeTypeContainerImagesSerializer.fromJson(NodeTypeContainerImagesSerializer.toJson(images)); - assertEquals(images, serialized); - } - -} |