diff options
Diffstat (limited to 'node-repository')
-rw-r--r-- | node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/v2/NodesResponse.java | 18 |
1 files changed, 10 insertions, 8 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 ba513db5342..1254664eb78 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 @@ -3,6 +3,7 @@ package com.yahoo.vespa.hosted.provision.restapi.v2; import com.yahoo.config.provision.ApplicationId; import com.yahoo.config.provision.ClusterMembership; +import com.yahoo.config.provision.NetworkPortsSerializer; import com.yahoo.config.provision.NodeType; import com.yahoo.container.jdisc.HttpRequest; import com.yahoo.container.jdisc.HttpResponse; @@ -153,17 +154,18 @@ class NodesResponse extends HttpResponse { object.setBool("fastDisk", node.flavor().hasFastDisk()); object.setDouble("bandwidth", node.flavor().getBandwidth()); object.setString("environment", node.flavor().getType().name()); - if (node.allocation().isPresent()) { - toSlime(node.allocation().get().owner(), object.setObject("owner")); - toSlime(node.allocation().get().membership(), object.setObject("membership")); - object.setLong("restartGeneration", node.allocation().get().restartGeneration().wanted()); - object.setLong("currentRestartGeneration", node.allocation().get().restartGeneration().current()); - object.setString("wantedDockerImage", nodeRepository.dockerImage().withTag(node.allocation().get().membership().cluster().vespaVersion()).asString()); - object.setString("wantedVespaVersion", node.allocation().get().membership().cluster().vespaVersion().toFullString()); + node.allocation().ifPresent(allocation -> { + toSlime(allocation.owner(), object.setObject("owner")); + toSlime(allocation.membership(), object.setObject("membership")); + object.setLong("restartGeneration", allocation.restartGeneration().wanted()); + object.setLong("currentRestartGeneration", allocation.restartGeneration().current()); + object.setString("wantedDockerImage", nodeRepository.dockerImage().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())) .map(status -> status == HostStatus.ALLOWED_TO_BE_DOWN) .ifPresent(allowedToBeDown -> object.setBool("allowedToBeDown", allowedToBeDown)); - } + }); object.setLong("rebootGeneration", node.status().reboot().wanted()); object.setLong("currentRebootGeneration", node.status().reboot().current()); node.status().osVersion().ifPresent(version -> object.setString("currentOsVersion", version.toFullString())); |