aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@oath.com>2020-04-26 17:16:03 +0200
committerGitHub <noreply@github.com>2020-04-26 17:16:03 +0200
commit24538b73e1c976a376226193ab39533cccbd70a4 (patch)
treef88e49e2ab5cd408d55fc9cb6857406761af4f6f
parent1ea6410fd642bb92a03b5798387fa977286af167 (diff)
parentae319dc3fd55f0aa7a804c51a62a194ab3b3c822 (diff)
Merge pull request #13069 from vespa-engine/bratseth/more-docker-allocation
Allocate on hosts in most tests
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/LoadBalancerExpirerTest.java2
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/ProvisioningTest.java64
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/ProvisioningTester.java7
3 files changed, 37 insertions, 36 deletions
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/LoadBalancerExpirerTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/LoadBalancerExpirerTest.java
index e278cdc992a..a5e96369591 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/LoadBalancerExpirerTest.java
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/LoadBalancerExpirerTest.java
@@ -155,7 +155,7 @@ public class LoadBalancerExpirerTest {
}
private void deployApplication(ApplicationId application, boolean activate, ClusterSpec.Id... clusters) {
- tester.makeReadyNodes(10, "d-1-4-10");
+ tester.makeReadyNodes(10, new NodeResources(1, 4, 10, 0.3));
List<HostSpec> hosts = new ArrayList<>();
for (var cluster : clusters) {
hosts.addAll(tester.prepare(application, ClusterSpec.request(ClusterSpec.Type.container, cluster).vespaVersion(Vtag.currentVersion).build(),
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/ProvisioningTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/ProvisioningTest.java
index 1b7c75a03ac..463a3ef3fb9 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/ProvisioningTest.java
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/ProvisioningTest.java
@@ -59,7 +59,7 @@ public class ProvisioningTest {
ApplicationId application1 = tester.makeApplicationId();
ApplicationId application2 = tester.makeApplicationId();
- tester.makeReadyNodes(21, defaultResources);
+ tester.makeReadyHosts(21, defaultResources).deployZoneApp();
// deploy
SystemState state1 = prepare(application1, 2, 2, 3, 3, defaultResources, tester);
@@ -137,7 +137,7 @@ public class ProvisioningTest {
public void nodeVersionIsReturnedIfSet() {
ProvisioningTester tester = new ProvisioningTester.Builder().zone(new Zone(Environment.dev, RegionName.from("us-east"))).build();
- tester.makeReadyNodes(4, defaultResources, NodeType.host, 1);
+ tester.makeReadyHosts(4, defaultResources);
tester.prepareAndActivateInfraApplication(tester.makeApplicationId(), NodeType.host);
// deploy
@@ -162,7 +162,7 @@ public class ProvisioningTest {
public void dockerImageRepoIsReturnedIfSet() {
ProvisioningTester tester = new ProvisioningTester.Builder().zone(new Zone(Environment.dev, RegionName.from("us-east"))).build();
- tester.makeReadyNodes(4, defaultResources, NodeType.host, 1);
+ tester.makeReadyHosts(4, defaultResources);
tester.prepareAndActivateInfraApplication(tester.makeApplicationId(), NodeType.host);
// deploy
@@ -192,7 +192,8 @@ public class ProvisioningTest {
ApplicationId application1 = tester.makeApplicationId();
- tester.makeReadyNodes(24, defaultResources);
+ tester.makeReadyHosts(24, defaultResources);
+ tester.deployZoneApp();
// deploy
SystemState state1 = prepare(application1, 2, 2, 3, 3, defaultResources, tester);
@@ -262,18 +263,18 @@ public class ProvisioningTest {
ApplicationId application1 = tester.makeApplicationId();
- tester.makeReadyNodes(12, small);
+ tester.makeReadyHosts(12, small);
+ tester.makeReadyHosts(16, large);
+ tester.deployZoneApp();
// deploy
SystemState state1 = prepare(application1, 2, 2, 4, 4, small, tester);
tester.activate(application1, state1.allHosts);
- // redeploy with reduced size (to cause us to have retired nodes before switching flavor)
+ // redeploy with reduced size (to cause us to have retired nodes before switching resources)
SystemState state2 = prepare(application1, 2, 2, 3, 3, small, tester);
tester.activate(application1, state2.allHosts);
- tester.makeReadyNodes(16, large);
-
// redeploy with increased sizes and new flavor
SystemState state3 = prepare(application1, 3, 4, 4, 5, large, tester);
assertEquals("New nodes are reserved", 16, tester.nodeRepository().getNodes(application1, Node.State.reserved).size());
@@ -292,7 +293,7 @@ public class ProvisioningTest {
ApplicationId application1 = tester.makeApplicationId();
- tester.makeReadyNodes(5, defaultResources);
+ tester.makeReadyHosts(5, defaultResources).deployZoneApp();
// deploy
SystemState state1 = prepare(application1, 2, 0, 3, 0, defaultResources, tester);
@@ -315,7 +316,7 @@ public class ProvisioningTest {
public void dev_deployment_node_size() {
ProvisioningTester tester = new ProvisioningTester.Builder().zone(new Zone(Environment.dev, RegionName.from("us-east"))).build();
- tester.makeReadyNodes(4, defaultResources, NodeType.host, 1);
+ tester.makeReadyHosts(4, defaultResources);
tester.prepareAndActivateInfraApplication(tester.makeApplicationId(), NodeType.host);
ApplicationId application = tester.makeApplicationId();
@@ -327,8 +328,8 @@ public class ProvisioningTest {
@Test
public void requested_resources_info_is_retained() {
ProvisioningTester tester = new ProvisioningTester.Builder().zone(new Zone(Environment.prod, RegionName.from("us-east"))).build();
+ tester.makeReadyHosts(13, defaultResources).deployZoneApp();
- tester.makeReadyNodes(13, defaultResources, NodeType.host, 1);
tester.prepareAndActivateInfraApplication(tester.makeApplicationId(), NodeType.host);
ApplicationId application = tester.makeApplicationId();
@@ -371,7 +372,7 @@ public class ProvisioningTest {
public void deploy_specific_vespa_version() {
ProvisioningTester tester = new ProvisioningTester.Builder().zone(new Zone(Environment.dev, RegionName.from("us-east"))).build();
- tester.makeReadyNodes(4, defaultResources, NodeType.host, 1);
+ tester.makeReadyHosts(4, defaultResources).deployZoneApp();
tester.prepareAndActivateInfraApplication(tester.makeApplicationId(), NodeType.host);
ApplicationId application = tester.makeApplicationId();
@@ -384,7 +385,7 @@ public class ProvisioningTest {
public void deploy_specific_vespa_version_and_docker_image() {
ProvisioningTester tester = new ProvisioningTester.Builder().zone(new Zone(Environment.dev, RegionName.from("us-east"))).build();
- tester.makeReadyNodes(4, defaultResources, NodeType.host, 1);
+ tester.makeReadyHosts(4, defaultResources).deployZoneApp();
tester.prepareAndActivateInfraApplication(tester.makeApplicationId(), NodeType.host);
ApplicationId application = tester.makeApplicationId();
@@ -399,7 +400,7 @@ public class ProvisioningTest {
ProvisioningTester tester = new ProvisioningTester.Builder().zone(new Zone(Environment.test, RegionName.from("us-east"))).build();
ApplicationId application = tester.makeApplicationId();
- tester.makeReadyNodes(4, defaultResources);
+ tester.makeReadyHosts(4, defaultResources).deployZoneApp();
SystemState state = prepare(application, 2, 2, 3, 3, defaultResources, tester);
assertEquals(4, state.allHosts.size());
tester.activate(application, state.allHosts);
@@ -408,8 +409,7 @@ public class ProvisioningTest {
@Test
public void test_changing_limits() {
ProvisioningTester tester = new ProvisioningTester.Builder().zone(new Zone(Environment.prod, RegionName.from("us-east"))).build();
- tester.makeReadyHosts(30, new NodeResources(20, 40, 100, 4));
- tester.deployZoneApp();
+ tester.makeReadyHosts(30, new NodeResources(20, 40, 100, 4)).deployZoneApp();
ApplicationId app1 = tester.makeApplicationId("app1");
ClusterSpec cluster1 = ClusterSpec.request(ClusterSpec.Type.content, new ClusterSpec.Id("cluster1")).vespaVersion("7").build();
@@ -462,7 +462,7 @@ public class ProvisioningTest {
ProvisioningTester tester = new ProvisioningTester.Builder().zone(new Zone(Environment.prod, RegionName.from("us-east"))).build();
ApplicationId application = tester.makeApplicationId();
- tester.makeReadyNodes(10, defaultResources);
+ tester.makeReadyHosts(10, defaultResources).deployZoneApp();
prepare(application, 1, 2, 3, 3, defaultResources, tester);
}
@@ -471,7 +471,7 @@ public class ProvisioningTest {
ProvisioningTester tester = new ProvisioningTester.Builder().zone(new Zone(Environment.prod, RegionName.from("us-east"))).build();
ApplicationId application = tester.makeApplicationId();
- tester.makeReadyNodes(10, defaultResources);
+ tester.makeReadyHosts(10, defaultResources).deployZoneApp();
try {
prepare(application, 2, 2, 3, 3,
new NodeResources(2, 2, 10, 2), tester);
@@ -486,7 +486,7 @@ public class ProvisioningTest {
public void dev_deployment_flavor() {
ProvisioningTester tester = new ProvisioningTester.Builder().zone(new Zone(Environment.dev, RegionName.from("us-east"))).build();
- tester.makeReadyNodes(4, new NodeResources(2, 4, 10, 2), NodeType.host, 1);
+ tester.makeReadyHosts(4, new NodeResources(2, 4, 10, 2));
tester.prepareAndActivateInfraApplication(tester.makeApplicationId(), NodeType.host);
ApplicationId application = tester.makeApplicationId();
@@ -504,7 +504,7 @@ public class ProvisioningTest {
ProvisioningTester tester = new ProvisioningTester.Builder().zone(new Zone(Environment.test, RegionName.from("us-east"))).build();
ApplicationId application = tester.makeApplicationId();
- tester.makeReadyNodes(4, large);
+ tester.makeReadyHosts(4, large).deployZoneApp();
SystemState state = prepare(application, 2, 2, 3, 3, large, tester);
assertEquals(4, state.allHosts.size());
tester.activate(application, state.allHosts);
@@ -515,7 +515,7 @@ public class ProvisioningTest {
ProvisioningTester tester = new ProvisioningTester.Builder().zone(new Zone(Environment.staging, RegionName.from("us-east"))).build();
ApplicationId application = tester.makeApplicationId();
- tester.makeReadyNodes(14, defaultResources);
+ tester.makeReadyHosts(14, defaultResources).deployZoneApp();
SystemState state = prepare(application, 1, 1, 1, 64, defaultResources, tester); // becomes 1, 1, 1, 1, 6
assertEquals(9, state.allHosts.size());
tester.activate(application, state.allHosts);
@@ -525,7 +525,7 @@ public class ProvisioningTest {
public void activate_after_reservation_timeout() {
ProvisioningTester tester = new ProvisioningTester.Builder().zone(new Zone(Environment.prod, RegionName.from("us-east"))).build();
- tester.makeReadyNodes(10, defaultResources);
+ tester.makeReadyHosts(10, defaultResources).deployZoneApp();
ApplicationId application = tester.makeApplicationId();
SystemState state = prepare(application, 2, 2, 3, 3, defaultResources, tester);
@@ -547,7 +547,7 @@ public class ProvisioningTest {
public void out_of_capacity() {
ProvisioningTester tester = new ProvisioningTester.Builder().zone(new Zone(Environment.prod, RegionName.from("us-east"))).build();
- tester.makeReadyNodes(9, defaultResources); // need 2+2+3+3=10
+ tester.makeReadyHosts(9, defaultResources).deployZoneApp(); // need 2+2+3+3=10
ApplicationId application = tester.makeApplicationId();
try {
prepare(application, 2, 2, 3, 3, defaultResources, tester);
@@ -564,7 +564,7 @@ public class ProvisioningTest {
Environment.prod,
RegionName.from("us-east"))).build();
- tester.makeReadyNodes(13, defaultResources);
+ tester.makeReadyHosts(13, defaultResources).deployZoneApp();
ApplicationId application = tester.makeApplicationId();
try {
prepare(application, 2, 2, 6, 3, defaultResources, tester);
@@ -582,7 +582,7 @@ public class ProvisioningTest {
Environment.prod,
RegionName.from("us-east"))).build();
- tester.makeReadyNodes(13, defaultResources);
+ tester.makeReadyHosts(13, defaultResources).deployZoneApp();
ApplicationId application = tester.makeApplicationId();
prepare(application, 2, 2, 6, 3, defaultResources, tester);
}
@@ -590,7 +590,7 @@ public class ProvisioningTest {
@Test
public void out_of_capacity_but_cannot_fail() {
ProvisioningTester tester = new ProvisioningTester.Builder().zone(new Zone(Environment.prod, RegionName.from("us-east"))).build();
- tester.makeReadyNodes(4, defaultResources);
+ tester.makeReadyHosts(4, defaultResources).deployZoneApp();
ApplicationId application = tester.makeApplicationId();
ClusterSpec cluster = ClusterSpec.request(ClusterSpec.Type.content, ClusterSpec.Id.from("music")).vespaVersion("4.5.6").build();
tester.prepare(application, cluster, Capacity.from(new ClusterResources(5, 1, NodeResources.unspecified), false, false));
@@ -624,7 +624,7 @@ public class ProvisioningTest {
ApplicationId application = tester.makeApplicationId();
// Create 10 nodes
- tester.makeReadyNodes(10, defaultResources);
+ tester.makeReadyHosts(10, defaultResources).deployZoneApp();
// Allocate 5 nodes
ClusterSpec cluster = ClusterSpec.request(ClusterSpec.Type.content, ClusterSpec.Id.from("music")).vespaVersion("4.5.6").build();
tester.activate(application, tester.prepare(application, cluster, capacity));
@@ -655,7 +655,7 @@ public class ProvisioningTest {
ApplicationId application1 = tester.makeApplicationId();
- tester.makeReadyNodes(14, defaultResources);
+ tester.makeReadyHosts(14, defaultResources).deployZoneApp();
// deploy
SystemState state1 = prepare(application1, 3, 3, 4, 4, defaultResources, tester);
@@ -683,7 +683,7 @@ public class ProvisioningTest {
ProvisioningTester tester = new ProvisioningTester.Builder().zone(new Zone(Environment.prod, RegionName.from("us-east"))).build();
ApplicationId application = tester.makeApplicationId();
- tester.makeReadyNodes(10, defaultResources);
+ tester.makeReadyHosts(10, defaultResources).deployZoneApp();
// Deploy application
{
@@ -711,7 +711,7 @@ public class ProvisioningTest {
ProvisioningTester tester = new ProvisioningTester.Builder().zone(new Zone(Environment.prod, RegionName.from("us-east"))).build();
ApplicationId application = tester.makeApplicationId();
- tester.makeReadyNodes(2, defaultResources);
+ tester.makeReadyHosts(2, defaultResources).deployZoneApp();
// Deploy fails with out of capacity
try {
@@ -722,7 +722,7 @@ public class ProvisioningTest {
tester.getNodes(application, Node.State.reserved).size());
// Enough nodes become available
- tester.makeReadyNodes(2, defaultResources);
+ tester.makeReadyHosts(2, defaultResources).deployZoneApp();
// Deploy is retried after a few minutes
tester.clock().advance(Duration.ofMinutes(2));
@@ -792,7 +792,7 @@ public class ProvisioningTest {
var tester = new ProvisioningTester.Builder().zone(new Zone(Environment.prod, RegionName.from("us-east"))).build();
var application = tester.makeApplicationId();
- tester.makeReadyNodes(4, defaultResources);
+ tester.makeReadyHosts(4, defaultResources).deployZoneApp();
// Application allocates two content nodes initially, with cluster type content
ClusterSpec cluster = ClusterSpec.request(ClusterSpec.Type.content, ClusterSpec.Id.from("music")).vespaVersion("1.2.3").build();
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/ProvisioningTester.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/ProvisioningTester.java
index cb4509b3de7..cbb15311867 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/ProvisioningTester.java
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/ProvisioningTester.java
@@ -261,9 +261,10 @@ public class ProvisioningTester {
return makeReadyNodes(n, flavor, NodeType.tenant);
}
- /** Call depliyZoneApp() after this before deploying applications */
- public List<Node> makeReadyHosts(int n, NodeResources resources) {
- return makeReadyNodes(n, resources, NodeType.host, 5);
+ /** Call deployZoneApp() after this before deploying applications */
+ public ProvisioningTester makeReadyHosts(int n, NodeResources resources) {
+ makeReadyNodes(n, resources, NodeType.host, 5);
+ return this;
}
public List<Node> makeReadyNodes(int n, NodeResources resources) {