summaryrefslogtreecommitdiffstats
path: root/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/ProvisioningTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/ProvisioningTest.java')
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/ProvisioningTest.java25
1 files changed, 24 insertions, 1 deletions
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 607ca963cef..3eb379b0914 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
@@ -265,7 +265,6 @@ public class ProvisioningTest {
ApplicationId application1 = tester.makeApplicationId();
tester.makeReadyHosts(12, small);
- tester.makeReadyHosts(16, large);
tester.deployZoneApp();
// deploy
@@ -276,6 +275,9 @@ public class ProvisioningTest {
SystemState state2 = prepare(application1, 2, 2, 3, 3, small, tester);
tester.activate(application1, state2.allHosts);
+ tester.makeReadyHosts(16, large);
+ tester.deployZoneApp();
+
// redeploy with increased sizes and new flavor
SystemState state3 = prepare(application1, 3, 4, 4, 5, large, tester);
assertEquals("New nodes are reserved", 16, tester.nodeRepository().getNodes(application1, Node.State.reserved).size());
@@ -289,6 +291,27 @@ public class ProvisioningTest {
}
@Test
+ public void host_flavors_at_least_twice_as_large_as_preferred() {
+ NodeResources small = new NodeResources(1, 4, 10, 0.3);
+ NodeResources large = new NodeResources(8, 8, 40, 0.3);
+
+ ProvisioningTester tester = new ProvisioningTester.Builder().zone(new Zone(Environment.prod, RegionName.from("us-east"))).build();
+
+ ApplicationId application1 = tester.makeApplicationId();
+
+ tester.makeReadyHosts(12, small);
+ tester.makeReadyHosts(12, large);
+ tester.deployZoneApp();
+
+ // deploy
+ SystemState state1 = prepare(application1, 2, 2, 4, 4, small, tester);
+ tester.activate(application1, state1.allHosts);
+
+ tester.nodeRepository().getNodes(application1)
+ .forEach(n -> assertEquals(large, tester.nodeRepository().getNode(n.parentHostname().get()).get().resources()));
+ }
+
+ @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();