From 5b6b06ff012fec56a7e0155b79e30bacc1a48fd2 Mon Sep 17 00:00:00 2001 From: toby Date: Mon, 17 Jul 2017 13:06:23 +0200 Subject: Add test that fails due to bug on allocation of clusters with multiple groups --- .../provisioning/DynamicDockerProvisioningTest.java | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'node-repository') diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/DynamicDockerProvisioningTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/DynamicDockerProvisioningTest.java index a5d72947fcc..e273d110b04 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/DynamicDockerProvisioningTest.java +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/DynamicDockerProvisioningTest.java @@ -32,6 +32,23 @@ import static org.junit.Assert.fail; */ public class DynamicDockerProvisioningTest { + @Test(expected = OutOfCapacityException.class) + public void multiple_groups_are_on_separate_parent_hosts() { + ProvisioningTester tester = new ProvisioningTester(new Zone(Environment.prod, RegionName.from("us-east")), flavorsConfig()); + enableDynamicAllocation(tester); + tester.makeReadyNodes(5, "host-small", NodeType.host, 32); + deployZoneApp(tester); + Flavor flavor = tester.nodeRepository().getAvailableFlavors().getFlavorOrThrow("d-1"); + + //Deploy an application of 6 nodes of 3 nodes in each cluster. We only have 3 docker hosts available + ApplicationId application1 = tester.makeApplicationId(); + tester.prepare(application1, + ClusterSpec.request(ClusterSpec.Type.content, ClusterSpec.Id.from("myContent"), Version.fromString("6.100")), + 6, 2, flavor.canonicalName()); + + fail("Two groups have been allocated to the same parent host"); + } + @Test public void spare_capacity_used_only_when_replacement() { // Use spare capacity only when replacement (i.e one node is failed) -- cgit v1.2.3