From e82c39d65bd72620a110d9a737ab4305b9d3a5eb Mon Sep 17 00:00:00 2001 From: Jon Bratseth Date: Tue, 12 Nov 2019 22:50:27 +0100 Subject: Carry spec through --- .../src/main/java/com/yahoo/vespa/model/HostPorts.java | 8 ++++---- .../src/main/java/com/yahoo/vespa/model/HostResource.java | 2 +- .../src/main/java/com/yahoo/vespa/model/HostSystem.java | 10 +--------- .../src/main/java/com/yahoo/config/provision/HostSpec.java | 6 +++++- 4 files changed, 11 insertions(+), 15 deletions(-) diff --git a/config-model/src/main/java/com/yahoo/vespa/model/HostPorts.java b/config-model/src/main/java/com/yahoo/vespa/model/HostPorts.java index 51b41e19a27..a80982fe75b 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/HostPorts.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/HostPorts.java @@ -20,10 +20,6 @@ import java.util.logging.Level; */ public class HostPorts { - public HostPorts(String hostname) { - this.hostname = hostname; - } - final String hostname; public final static int BASE_PORT = 19100; final static int MAX_PORTS = 799; @@ -42,6 +38,10 @@ public class HostPorts { private Optional networkPortsList = Optional.empty(); + public HostPorts(String hostname) { + this.hostname = hostname; + } + /** * Get the allocated network ports. * Should be called after allocation is complete and flushPortReservations has been called diff --git a/config-model/src/main/java/com/yahoo/vespa/model/HostResource.java b/config-model/src/main/java/com/yahoo/vespa/model/HostResource.java index 0d4c0aa28af..099c02e06fe 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/HostResource.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/HostResource.java @@ -64,7 +64,7 @@ public class HostResource implements Comparable { public HostPorts ports() { return hostPorts; } - public HostSpec spec() { return spec; } + public HostSpec spec() { return spec.withPorts(hostPorts.networkPorts()); } /** * Adds service and allocates resources for it. diff --git a/config-model/src/main/java/com/yahoo/vespa/model/HostSystem.java b/config-model/src/main/java/com/yahoo/vespa/model/HostSystem.java index 7d986eed877..ad0febd14cd 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/HostSystem.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/HostSystem.java @@ -177,15 +177,7 @@ public class HostSystem extends AbstractConfigProducer { } Set getHostSpecs() { - return getHosts().stream() - .map(host -> new HostSpec(host.getHostname(), - Collections.emptyList(), - host.getFlavor(), - host.primaryClusterMembership(), - host.spec().version(), - host.ports().networkPorts(), - host.spec().requestedResources())) - .collect(Collectors.toCollection(LinkedHashSet::new)); + return getHosts().stream().map(host -> host.spec()).collect(Collectors.toCollection(LinkedHashSet::new)); } /** A provision logger which forwards to a deploy logger */ diff --git a/config-provisioning/src/main/java/com/yahoo/config/provision/HostSpec.java b/config-provisioning/src/main/java/com/yahoo/config/provision/HostSpec.java index 691107f4649..63725d9a535 100644 --- a/config-provisioning/src/main/java/com/yahoo/config/provision/HostSpec.java +++ b/config-provisioning/src/main/java/com/yahoo/config/provision/HostSpec.java @@ -29,7 +29,7 @@ public class HostSpec implements Comparable { private final Optional networkPorts; - private Optional requestedResources; + private final Optional requestedResources; public HostSpec(String hostname, Optional membership) { this(hostname, new ArrayList<>(), Optional.empty(), membership); @@ -99,6 +99,10 @@ public class HostSpec implements Comparable { /** Returns the requested resources leading to this host being provisioned, or empty if not known */ public Optional requestedResources() { return requestedResources; } + public HostSpec withPorts(Optional ports) { + return new HostSpec(hostname, aliases, flavor, membership, version, ports, requestedResources); + } + @Override public String toString() { return hostname + -- cgit v1.2.3