diff options
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.java | 25 |
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(); |