diff options
author | Jon Bratseth <bratseth@gmail.com> | 2020-09-09 21:02:42 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-09-09 21:02:42 +0200 |
commit | 8cdd7f7babb2bda6c708c00af9911caafdc79fe0 (patch) | |
tree | 5686e64b625b7533ef54c8f6bad13634fd4daa71 /node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/NodeSpec.java | |
parent | 3bbf27bf9d235bbaf01165afcb9e175c2bbaaa89 (diff) |
Revert "Revert "Bratseth/allocation improvements" MERGEOK"
Diffstat (limited to 'node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/NodeSpec.java')
-rw-r--r-- | node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/NodeSpec.java | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/NodeSpec.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/NodeSpec.java index 9971aae1714..f50c988edfd 100644 --- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/NodeSpec.java +++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/NodeSpec.java @@ -60,6 +60,9 @@ public interface NodeSpec { /** Returns whether the given node must be resized to match this spec */ boolean needsResize(Node node); + /** Returns true if there exist some circumstance where we may accept to have this node allocated */ + boolean acceptable(Node node); + /** * Returns true if a node with given current resources and current spare host resources can be resized * in-place to resources in this spec. @@ -157,6 +160,9 @@ public interface NodeSpec { } @Override + public boolean acceptable(Node node) { return true; } + + @Override public String toString() { return "request for " + count + " nodes with " + requestedNodeResources; } } @@ -211,6 +217,12 @@ public interface NodeSpec { public boolean needsResize(Node node) { return false; } @Override + public boolean acceptable(Node node) { + // Since we consume all offered nodes we should not accept previously deactivated nodes + return node.state() != Node.State.inactive; + } + + @Override public String toString() { return "request for all nodes of type '" + type + "'"; } } |