summaryrefslogtreecommitdiffstats
path: root/node-repository
diff options
context:
space:
mode:
authorValerij Fredriksen <valerijf@verizonmedia.com>2020-01-13 11:39:35 +0100
committerValerij Fredriksen <valerijf@verizonmedia.com>2020-01-13 11:39:35 +0100
commit77e7af5899369f77eca302614b3adae465ca5db5 (patch)
tree90ea5fe44bad6a56449e7ce588038168c01f8c46 /node-repository
parent9243e1e740f261a7c0992dadb9ce4293018e2d32 (diff)
Remove NodeSpec::assignRequestedFlavor
Diffstat (limited to 'node-repository')
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/NodeAllocation.java2
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/NodeSpec.java28
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/ProvisioningTest.java26
3 files changed, 3 insertions, 53 deletions
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/NodeAllocation.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/NodeAllocation.java
index 1c8857be139..1b8f5f27a97 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/NodeAllocation.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/NodeAllocation.java
@@ -321,8 +321,6 @@ class NodeAllocation {
}
for (PrioritizableNode node : nodes) {
- node.node = requestedNodes.assignRequestedFlavor(node.node);
-
// Set whether the node is exclusive
Allocation allocation = node.node.allocation().get();
node.node = node.node.with(allocation.with(allocation.membership()
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 a2414174a8c..c0b67956716 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
@@ -54,13 +54,6 @@ public interface NodeSpec {
/** Returns a specification of a fraction of all the nodes of this. It is assumed the argument is a valid divisor. */
NodeSpec fraction(int divisor);
- /**
- * Assigns the flavor requested by this to the given node and returns it,
- * if one is requested and it is allowed to change.
- * Otherwise, the node is returned unchanged.
- */
- Node assignRequestedFlavor(Node node);
-
/** Returns the resources requested by this or empty if none are explicitly requested */
Optional<NodeResources> resources();
@@ -101,14 +94,10 @@ public interface NodeSpec {
@Override
public boolean isCompatible(Flavor flavor, NodeFlavors flavors) {
if (flavor.isDocker()) { // Docker nodes can satisfy a request for parts of their resources
- if (flavor.resources().compatibleWith(requestedNodeResources))
- return true;
- }
- else { // Other nodes must be matched exactly
- if (requestedNodeResources.equals(flavor.resources()))
- return true;
+ return flavor.resources().compatibleWith(requestedNodeResources);
+ } else { // Other nodes must be matched exactly
+ return requestedNodeResources.equals(flavor.resources());
}
- return requestedFlavorCanBeAchievedByResizing(flavor);
}
@Override
@@ -147,14 +136,6 @@ public interface NodeSpec {
@Override
public String toString() { return "request for " + count + " nodes with " + requestedNodeResources; }
- /** Docker nodes can be downsized in place */
- private boolean requestedFlavorCanBeAchievedByResizing(Flavor flavor) {
- // TODO: Enable this when we can do it safely
- // Then also re-enable ProvisioningTest.application_deployment_with_inplace_downsize()
- // return flavor.isDocker() && requestedFlavor.isDocker() && flavor.isLargerThan(requestedFlavor);
- return false;
- }
-
}
/** A node spec specifying a node type. This will accept all nodes of this type. */
@@ -201,9 +182,6 @@ public interface NodeSpec {
public NodeSpec fraction(int divisor) { return this; }
@Override
- public Node assignRequestedFlavor(Node node) { return node; }
-
- @Override
public Optional<NodeResources> resources() { return Optional.empty(); }
@Override
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/ProvisioningTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/ProvisioningTest.java
index 8fde8cae399..a54afd1c229 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/ProvisioningTest.java
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/ProvisioningTest.java
@@ -21,7 +21,6 @@ import com.yahoo.vespa.hosted.provision.NodeList;
import com.yahoo.vespa.hosted.provision.maintenance.ReservationExpirer;
import com.yahoo.vespa.hosted.provision.node.Agent;
import com.yahoo.vespa.hosted.provision.node.History;
-import org.junit.Ignore;
import org.junit.Test;
import java.time.Duration;
@@ -257,31 +256,6 @@ public class ProvisioningTest {
0, tester.getNodes(application1, Node.State.active).retired().resources(large).size());
}
- // TODO: Enable when this feature is re-enabled
- @Ignore
- @Test
- public void application_deployment_with_inplace_downsize() {
- ProvisioningTester tester = new ProvisioningTester.Builder().zone(new Zone(Environment.prod, RegionName.from("us-east"))).build();
-
- ApplicationId application1 = tester.makeApplicationId();
-
- tester.makeReadyNodes(14, "d-2-2-2", NodeType.host);
-
- // deploy
- SystemState state1 = prepare(application1, 2, 2, 4, 4, new NodeResources(2, 2, 2, 2), tester);
- tester.activate(application1, state1.allHosts);
-
- // redeploy with smaller docker flavor - causes in-place flavor change
- SystemState state2 = prepare(application1, 2, 2, 4, 4, new NodeResources(1, 1, 1, 0.3), tester);
- tester.activate(application1, state2.allHosts);
-
- assertEquals(12, tester.getNodes(application1, Node.State.active).size());
- for (Node node : tester.getNodes(application1, Node.State.active))
- assertEquals("Node changed flavor in place", "dockerSmall", node.flavor().name());
- assertEquals("No nodes are retired",
- 0, tester.getNodes(application1, Node.State.active).retired().size());
- }
-
@Test
public void application_deployment_above_then_at_capacity_limit() {
ProvisioningTester tester = new ProvisioningTester.Builder().zone(new Zone(Environment.prod, RegionName.from("us-east"))).build();