From cd77ac780a2b224e9459d9dd3ced15b26da0aa33 Mon Sep 17 00:00:00 2001 From: Kristian Aune Date: Thu, 14 Dec 2017 11:16:23 +0100 Subject: set 0 free capacity short term --- .../provisioning/NodeRepositoryProvisioner.java | 4 ++++ .../provisioning/DynamicDockerProvisioningTest.java | 17 ++++++++++++----- 2 files changed, 16 insertions(+), 5 deletions(-) (limited to 'node-repository/src') 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, 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. *

* 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. *

- * Check that it relocates containers away from the 2 spares + * Check that it relocates containers away from the getSpareCapacityProd() spares *

- * Initial allocation of app 1 and 2 --> final allocation: + * Initial allocation of app 1 and 2 --> final allocation (example using 2 spares): *

* | | | | | | | | | | * | | | | | --> | 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); -- cgit v1.2.3