diff options
author | Kristian Aune <kkraune@users.noreply.github.com> | 2017-12-18 06:42:40 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-12-18 06:42:40 +0100 |
commit | 2015ada82283a8f44369cd0b2f869d9dbeb98130 (patch) | |
tree | 46dcf4fe4bdd4f74941f87f7873ee1ca74a75bfe /node-repository/src | |
parent | 8b7c1da20e1d3a511dcdb4b33370dd7958a1177c (diff) | |
parent | cd77ac780a2b224e9459d9dd3ced15b26da0aa33 (diff) |
Merge pull request #4445 from vespa-engine/kkraune/less-spares
set 0 free capacity short term
Diffstat (limited to 'node-repository/src')
2 files changed, 16 insertions, 5 deletions
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/NodeRepositoryProvisioner.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/NodeRepositoryProvisioner.java index 7ef609d6311..62b00f914a3 100644 --- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/NodeRepositoryProvisioner.java +++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/NodeRepositoryProvisioner.java @@ -50,6 +50,10 @@ public class NodeRepositoryProvisioner implements Provisioner { private final Activator activator; private final BiConsumer<List<Node>, String> debugRecorder; + int getSpareCapacityProd() { + return SPARE_CAPACITY_PROD; + } + @Inject public NodeRepositoryProvisioner(NodeRepository nodeRepository, NodeFlavors flavors, Zone zone) { this(nodeRepository, flavors, zone, Clock.systemUTC(), (x, y) -> {}); 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 75d5862f010..1dce5830540 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 @@ -97,11 +97,11 @@ public class DynamicDockerProvisioningTest { * Test relocation of nodes from spare hosts. * <p> * Setup 4 docker hosts and allocate one container on each (from two different applications) - * No headroom defined - only 2 spares. + * No headroom defined - only getSpareCapacityProd() spares. * <p> - * Check that it relocates containers away from the 2 spares + * Check that it relocates containers away from the getSpareCapacityProd() spares * <p> - * Initial allocation of app 1 and 2 --> final allocation: + * Initial allocation of app 1 and 2 --> final allocation (example using 2 spares): * <p> * | | | | | | | | | | * | | | | | --> | 2a | 2b | | | @@ -139,7 +139,8 @@ public class DynamicDockerProvisioningTest { hostsWithChildren.add(node.parentHostname().get()); } } - Assert.assertEquals(2, hostsWithChildren.size()); + Assert.assertEquals(4 - tester.provisioner().getSpareCapacityProd(), hostsWithChildren.size()); + } /** @@ -389,8 +390,14 @@ public class DynamicDockerProvisioningTest { // Verify that there is still capacity (available spare) // Fail one node and redeploy, Verify that one less node is empty. - // Setup test + ProvisioningTester tester = new ProvisioningTester(new Zone(Environment.prod, RegionName.from("us-east")), flavorsConfig()); + // Only run test if there _is_ spare capacity + if (tester.provisioner().getSpareCapacityProd() == 0) { + return; + } + + // Setup test enableDynamicAllocation(tester); ApplicationId application1 = tester.makeApplicationId(); tester.makeReadyNodes(5, "host-small", NodeType.host, 32); |