diff options
author | Jon Bratseth <bratseth@verizonmedia.com> | 2020-01-22 17:35:42 +0100 |
---|---|---|
committer | Jon Bratseth <bratseth@verizonmedia.com> | 2020-01-22 17:35:42 +0100 |
commit | 97c2dd0fb54bd2aed689e5b8b432588cc4fb6401 (patch) | |
tree | c0ca4c6ce86ccc59d17643ddf3f6307bd1b8224a /node-repository | |
parent | 995e6883f191574ba3f386c49271950fc5e5a50a (diff) |
Prefer using reserved hosts
Diffstat (limited to 'node-repository')
2 files changed, 7 insertions, 3 deletions
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/Activator.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/Activator.java index a7519de3776..cb9294b3485 100644 --- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/Activator.java +++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/Activator.java @@ -117,9 +117,9 @@ class Activator { .filter(node -> node.state() != Node.State.active) .map(Node::hostname) .collect(Collectors.toSet()); - long numNonActive = nonActiveHosts.size(); - if (numNonActive > 0) { - long numActive = parentHostnames.size() - numNonActive; + + if (nonActiveHosts.size() > 0) { + long numActive = parentHostnames.size() - nonActiveHosts.size(); var messageBuilder = new StringBuilder() .append(numActive).append("/").append(parentHostnames.size()) .append(" hosts for ") diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/PrioritizableNode.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/PrioritizableNode.java index c7732695069..6183bffe5ba 100644 --- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/PrioritizableNode.java +++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/PrioritizableNode.java @@ -87,6 +87,10 @@ class PrioritizableNode implements Comparable<PrioritizableNode> { throw new IllegalStateException("Nodes " + this.node + " and " + other.node + " have different states"); if (this.parent.isPresent() && other.parent.isPresent()) { + // Prefer reserved hosts (that they are reserved to the right tenant is ensured elsewhere) + if ( this.parent.get().reservedTo().isPresent() && ! other.parent.get().reservedTo().isPresent()) return -1; + if ( ! this.parent.get().reservedTo().isPresent() && other.parent.get().reservedTo().isPresent()) return 1; + int diskCostDifference = NodeResources.DiskSpeed.compare(this.parent.get().flavor().resources().diskSpeed(), other.parent.get().flavor().resources().diskSpeed()); if (diskCostDifference != 0) |