diff options
author | Jon Bratseth <bratseth@verizonmedia.com> | 2019-05-27 10:28:47 +0200 |
---|---|---|
committer | Jon Bratseth <bratseth@verizonmedia.com> | 2019-05-27 10:28:47 +0200 |
commit | 4946d716bc41f8e1620d67eccb0acbfbdee3b252 (patch) | |
tree | 17420ff9a7d7ead4aa179635295d1eee68ba3773 /node-repository | |
parent | 129db9665cc37ee74fde9a4b3649b3811bc76476 (diff) |
Don't modify bare metal allocations
Diffstat (limited to 'node-repository')
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); } |