summaryrefslogtreecommitdiffstats
path: root/node-repository
diff options
context:
space:
mode:
authorKristian Aune <kraune@oath.com>2017-12-14 11:16:23 +0100
committerKristian Aune <kraune@oath.com>2017-12-14 11:16:23 +0100
commitcd77ac780a2b224e9459d9dd3ced15b26da0aa33 (patch)
tree55b73788fe78c6a97590c9aa64619dd5ae7b2422 /node-repository
parente494bf9f475d72f0a6f429e73dff03560f2c659f (diff)
set 0 free capacity short term
Diffstat (limited to 'node-repository')
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/NodeRepositoryProvisioner.java4
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/DynamicDockerProvisioningTest.java17
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);