aboutsummaryrefslogtreecommitdiffstats
path: root/node-repository
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@verizonmedia.com>2019-05-27 10:28:47 +0200
committerJon Bratseth <bratseth@verizonmedia.com>2019-05-27 10:28:47 +0200
commit4946d716bc41f8e1620d67eccb0acbfbdee3b252 (patch)
tree17420ff9a7d7ead4aa179635295d1eee68ba3773 /node-repository
parent129db9665cc37ee74fde9a4b3649b3811bc76476 (diff)
Don't modify bare metal allocations
Diffstat (limited to 'node-repository')
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/CapacityPolicies.java2
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/DynamicDockerAllocationTest.java26
2 files changed, 18 insertions, 10 deletions
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/CapacityPolicies.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/CapacityPolicies.java
index a7349afcc01..7c2c061b62f 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/CapacityPolicies.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/CapacityPolicies.java
@@ -44,6 +44,8 @@ public class CapacityPolicies {
public NodeResources decideNodeResources(Optional<NodeResources> requestedResources, ClusterSpec cluster) {
NodeResources resources = specifiedOrDefaultNodeResources(requestedResources, cluster);
+ if (resources.allocateByLegacyName()) return resources; // Modification not possible
+
// Allow slow disks in zones which are not performance sensitive
if (zone.system() == SystemName.cd || zone.environment() == Environment.dev || zone.environment() == Environment.test)
resources = resources.withDiskSpeed(NodeResources.DiskSpeed.any);
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/DynamicDockerAllocationTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/DynamicDockerAllocationTest.java
index bdd4e6f3d98..079574b7206 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/DynamicDockerAllocationTest.java
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/DynamicDockerAllocationTest.java
@@ -265,16 +265,6 @@ public class DynamicDockerAllocationTest {
tester.activate(application1, ImmutableSet.copyOf(hosts));
}
- @Test
- public void cd_uses_slow_disk_nodes_for_docker_hosts_with_default_flavor() {
- ProvisioningTester tester = new ProvisioningTester.Builder().zone(new Zone(SystemName.cd, Environment.test, RegionName.from("us-east"))).flavorsConfig(flavorsConfig()).build();
- tester.makeReadyNodes(4, new Flavor(new NodeResources(1, 2, 3, NodeResources.DiskSpeed.slow)), NodeType.host, 10, true);
- deployZoneApp(tester);
- ApplicationId application1 = tester.makeApplicationId();
- List<HostSpec> hosts = tester.prepare(application1, clusterSpec("myContent.t1.a1"), Capacity.fromCount(3, Optional.empty(), false, true), 1);
- tester.activate(application1, ImmutableSet.copyOf(hosts));
- }
-
@Test(expected = OutOfCapacityException.class)
public void allocation_should_fail_when_host_is_not_active() {
ProvisioningTester tester = new ProvisioningTester.Builder().zone(new Zone(Environment.prod, RegionName.from("us-east"))).flavorsConfig(flavorsConfig()).build();
@@ -301,6 +291,22 @@ public class DynamicDockerAllocationTest {
}
@Test
+ public void legacy_bare_metal_allocations_are_not_altered() {
+ ProvisioningTester tester = new ProvisioningTester.Builder().zone(new Zone(SystemName.cd, Environment.prod, RegionName.from("us-east"))).flavorsConfig(flavorsConfig()).build();
+ tester.makeReadyNodes(5, "host-large", NodeType.tenant);
+ deployZoneApp(tester);
+
+ ApplicationId application = tester.makeApplicationId();
+ ClusterSpec cluster = ClusterSpec.request(ClusterSpec.Type.container, ClusterSpec.Id.from("test"), Version.fromString("1"), false);
+ NodeResources resources = NodeResources.fromLegacyName("host-large");
+
+ List<HostSpec> hosts = tester.prepare(application, cluster, 2, 1, resources);
+ assertEquals(2, hosts.size());
+ assertEquals("host-large", hosts.get(0).flavor().get().name());
+ tester.activate(application, hosts);
+ }
+
+ @Test
public void provisioning_fast_disk_speed_do_not_get_slow_nodes() {
provisionFastAndSlowThenDeploy(NodeResources.DiskSpeed.fast, true);
}