diff options
author | Valerij Fredriksen <freva@users.noreply.github.com> | 2019-05-13 14:57:04 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-05-13 14:57:04 +0200 |
commit | bd05a7d29f4c56b4edd231f00fa87301010e0a57 (patch) | |
tree | 9fac73e26b34583a11d21789b4a85daec2afae4c /node-repository | |
parent | b471fa20713a23c4982b017bf53aa726a7eeaa03 (diff) | |
parent | 60b320aeca0d8a225e87d0edfae32318ca6a9920 (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.java | 10 |
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); } |