aboutsummaryrefslogtreecommitdiffstats
path: root/node-repository
diff options
context:
space:
mode:
authorValerij Fredriksen <freva@users.noreply.github.com>2019-05-13 14:57:04 +0200
committerGitHub <noreply@github.com>2019-05-13 14:57:04 +0200
commitbd05a7d29f4c56b4edd231f00fa87301010e0a57 (patch)
tree9fac73e26b34583a11d21789b4a85daec2afae4c /node-repository
parentb471fa20713a23c4982b017bf53aa726a7eeaa03 (diff)
parent60b320aeca0d8a225e87d0edfae32318ca6a9920 (diff)
Merge pull request #9380 from vespa-engine/freva/use-image-of-the-child
Return the image for child node type for docker hosts
Diffstat (limited to 'node-repository')
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/v2/NodesResponse.java10
1 files changed, 8 insertions, 2 deletions
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/v2/NodesResponse.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/v2/NodesResponse.java
index be99bb946d5..2ab916e6375 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/v2/NodesResponse.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/v2/NodesResponse.java
@@ -161,7 +161,7 @@ class NodesResponse extends HttpResponse {
toSlime(allocation.membership(), object.setObject("membership"));
object.setLong("restartGeneration", allocation.restartGeneration().wanted());
object.setLong("currentRestartGeneration", allocation.restartGeneration().current());
- object.setString("wantedDockerImage", nodeRepository.dockerImage(node.type()).withTag(allocation.membership().cluster().vespaVersion()).asString());
+ object.setString("wantedDockerImage", dockerImageFor(node.type()).withTag(allocation.membership().cluster().vespaVersion()).asString());
object.setString("wantedVespaVersion", allocation.membership().cluster().vespaVersion().toFullString());
allocation.networkPorts().ifPresent(ports -> NetworkPortsSerializer.toSlime(ports, object.setArray("networkPorts")));
orchestrator.apply(new HostName(node.hostname()))
@@ -220,7 +220,13 @@ class NodesResponse extends HttpResponse {
.or(() -> Optional.of(node)
.filter(n -> n.flavor().getType() != Flavor.Type.DOCKER_CONTAINER)
.flatMap(n -> n.status().vespaVersion()
- .map(version -> nodeRepository.dockerImages().dockerImageFor(n.type()).withTag(version))));
+ .map(version -> dockerImageFor(n.type()).withTag(version))));
+ }
+
+ // Docker hosts are not running in an image, but return the image of the node type running on it anyway,
+ // this allows the docker host to pre-download the (likely) image its node will run
+ private DockerImage dockerImageFor(NodeType nodeType) {
+ return nodeRepository.dockerImage(nodeType.isDockerHost() ? nodeType.childNodeType() : nodeType);
}