summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Musum <musum@verizonmedia.com>2021-10-15 10:10:17 +0200
committerGitHub <noreply@github.com>2021-10-15 10:10:17 +0200
commite114ab86fe71aac1f4d252f079f9afa8e3c598c5 (patch)
tree956a7e4abe44edcf7ea87e833d0d63306661fc07
parent7a1b8e39ce5f6b7ed4d425e7ca879fc7617a21e3 (diff)
parentfb5e4c3c899b0ba0586d50c847204c0fc38bd419 (diff)
Merge pull request #19577 from vespa-engine/mpolden/remove-dead-code
Remove dead code
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/node/Generation.java3
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/persistence/NodeTypeContainerImagesSerializer.java46
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/NodesResponse.java20
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/persistence/NodeTypeContainerImagesSerializerTest.java28
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);
- }
-
-}