summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorValerij Fredriksen <freva@users.noreply.github.com>2021-06-14 23:36:08 +0200
committerGitHub <noreply@github.com>2021-06-14 23:36:08 +0200
commit8b8173838f2242a089343941716f5208d6358475 (patch)
tree3f703d52e8baec244d310260a906890983c2f21a
parent8f9d14a568de2804c1a36d26852a66df6ee84827 (diff)
parent5a8521be49e24b15cc5602834373e304b5d8e3a7 (diff)
Merge pull request #18256 from vespa-engine/bratseth/mim-1-vcpu-for-content
Content clusters need enough cpu to manage their content
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/NodeResourceLimits.java1
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/DockerProvisioningCompleteHostCalculatorTest.java14
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/DockerProvisioningTest.java14
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/DynamicDockerProvisionTest.java4
4 files changed, 17 insertions, 16 deletions
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/NodeResourceLimits.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/NodeResourceLimits.java
index 4e74104c25b..d23b3c782c8 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/NodeResourceLimits.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/NodeResourceLimits.java
@@ -64,6 +64,7 @@ public class NodeResourceLimits {
private double minAdvertisedVcpu(ClusterSpec.Type clusterType) {
if (zone().environment() == Environment.dev && !zone().getCloud().dynamicProvisioning()) return 0.1;
+ if (clusterType.isContent() && zone().environment().isProduction()) return 1.0;
if (clusterType == ClusterSpec.Type.admin) return 0.1;
return 0.5;
}
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/DockerProvisioningCompleteHostCalculatorTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/DockerProvisioningCompleteHostCalculatorTest.java
index 8b2febf37b1..afbd44a346f 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/DockerProvisioningCompleteHostCalculatorTest.java
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/DockerProvisioningCompleteHostCalculatorTest.java
@@ -26,7 +26,7 @@ public class DockerProvisioningCompleteHostCalculatorTest {
@Test
public void changing_to_different_range_preserves_allocation() {
- Flavor hostFlavor = new Flavor(new NodeResources(20, 40, 1000, 4));
+ Flavor hostFlavor = new Flavor(new NodeResources(40, 40, 1000, 4));
ProvisioningTester tester = new ProvisioningTester.Builder().zone(new Zone(Environment.prod, RegionName.from("us-east")))
.resourcesCalculator(new CompleteResourcesCalculator(hostFlavor))
.flavors(List.of(hostFlavor))
@@ -36,25 +36,25 @@ public class DockerProvisioningCompleteHostCalculatorTest {
ApplicationId app1 = ProvisioningTester.applicationId("app1");
ClusterSpec cluster1 = ClusterSpec.request(ClusterSpec.Type.content, new ClusterSpec.Id("cluster1")).vespaVersion("7").build();
- var initialResources = new NodeResources(2, 16, 50, 1);
+ var initialResources = new NodeResources(20, 16, 50, 1);
tester.activate(app1, cluster1, Capacity.from(new ClusterResources(2, 1, initialResources),
new ClusterResources(2, 1, initialResources)));
tester.assertNodes("Initial allocation",
- 2, 1, 2, 16, 50, 1.0,
+ 2, 1, 20, 16, 50, 1.0,
app1, cluster1);
- var newMinResources = new NodeResources(0.5, 4, 11, 1);
- var newMaxResources = new NodeResources(2.0, 10, 30, 1);
+ var newMinResources = new NodeResources( 5, 4, 11, 1);
+ var newMaxResources = new NodeResources(20, 10, 30, 1);
tester.activate(app1, cluster1, Capacity.from(new ClusterResources(7, 1, newMinResources),
new ClusterResources(7, 1, newMaxResources)));
tester.assertNodes("New allocation preserves total resources",
- 7, 1, 0.7, 4.6, 14.3, 1.0,
+ 7, 1, 7, 4.6, 14.3, 1.0,
app1, cluster1);
tester.activate(app1, cluster1, Capacity.from(new ClusterResources(7, 1, newMinResources),
new ClusterResources(7, 1, newMaxResources)));
tester.assertNodes("Redeploying the same ranges does not cause changes",
- 7, 1, 0.7, 4.6, 14.3, 1.0,
+ 7, 1, 7, 4.6, 14.3, 1.0,
app1, cluster1);
}
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/DockerProvisioningTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/DockerProvisioningTest.java
index f2ca993f4d7..fd8cf9ea00f 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/DockerProvisioningTest.java
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/DockerProvisioningTest.java
@@ -295,7 +295,7 @@ public class DockerProvisioningTest {
@Test
public void changing_to_different_range_preserves_allocation() {
- Flavor hostFlavor = new Flavor(new NodeResources(20, 40, 100, 4));
+ Flavor hostFlavor = new Flavor(new NodeResources(40, 40, 100, 4));
ProvisioningTester tester = new ProvisioningTester.Builder().zone(new Zone(Environment.prod, RegionName.from("us-east")))
.resourcesCalculator(3, 0)
.flavors(List.of(hostFlavor))
@@ -305,25 +305,25 @@ public class DockerProvisioningTest {
ApplicationId app1 = ProvisioningTester.applicationId("app1");
ClusterSpec cluster1 = ClusterSpec.request(ClusterSpec.Type.content, new ClusterSpec.Id("cluster1")).vespaVersion("7").build();
- var initialResources = new NodeResources(2, 16, 50, 1);
+ var initialResources = new NodeResources(20, 16, 50, 1);
tester.activate(app1, cluster1, Capacity.from(new ClusterResources(2, 1, initialResources),
new ClusterResources(2, 1, initialResources)));
tester.assertNodes("Initial allocation",
- 2, 1, 2, 16, 50, 1.0,
+ 2, 1, 20, 16, 50, 1.0,
app1, cluster1);
- var newMinResources = new NodeResources(0.5, 6, 11, 1);
- var newMaxResources = new NodeResources(2.0, 10, 30, 1);
+ var newMinResources = new NodeResources( 5, 6, 11, 1);
+ var newMaxResources = new NodeResources(20, 10, 30, 1);
tester.activate(app1, cluster1, Capacity.from(new ClusterResources(7, 1, newMinResources),
new ClusterResources(7, 1, newMaxResources)));
tester.assertNodes("New allocation preserves total resources",
- 7, 1, 0.7, 6.7, 14.3, 1.0,
+ 7, 1, 7, 6.7, 14.3, 1.0,
app1, cluster1);
tester.activate(app1, cluster1, Capacity.from(new ClusterResources(7, 1, newMinResources),
new ClusterResources(7, 1, newMaxResources)));
tester.assertNodes("Redeploying does not cause changes",
- 7, 1, 0.7, 6.7, 14.3, 1.0,
+ 7, 1, 7, 6.7, 14.3, 1.0,
app1, cluster1);
}
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/DynamicDockerProvisionTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/DynamicDockerProvisionTest.java
index f5cf9dbb471..029c9ffa559 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/DynamicDockerProvisionTest.java
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/DynamicDockerProvisionTest.java
@@ -286,7 +286,7 @@ public class DynamicDockerProvisionTest {
}
// Initial deployment
- tester.activate(app1, cluster1, Capacity.from(resources(4, 2, 0.5, 5, 20),
+ tester.activate(app1, cluster1, Capacity.from(resources(4, 2, 1, 5, 20),
resources(6, 3, 4, 20, 40)));
tester.assertNodes("Initial allocation at first actual flavor above min (except for disk)",
4, 2, 1, 10, 20,
@@ -316,7 +316,7 @@ public class DynamicDockerProvisionTest {
// Force 1 more groups: Reducing to 2 nodes per group to preserve node count is rejected
// since it will reduce total group memory from 60 to 40.
- tester.activate(app1, cluster1, Capacity.from(resources(6, 3, 0.5, 5, 10),
+ tester.activate(app1, cluster1, Capacity.from(resources(6, 3, 1, 5, 10),
resources(9, 3, 5, 20, 15)));
tester.assertNodes("Group size is preserved",
9, 3, 2, 20, 15,