diff options
author | Valerij Fredriksen <valerijf@verizonmedia.com> | 2019-08-20 15:35:47 +0200 |
---|---|---|
committer | Valerij Fredriksen <valerijf@verizonmedia.com> | 2019-08-20 16:52:58 +0200 |
commit | 85e3fd8d395a53d74d5b1d1769d49fb40424ea90 (patch) | |
tree | b8f1919a72791a0f5f7c3f3c8c62325f58dd43d8 /node-repository/src/test | |
parent | 8bd55fb7b53034d3b18a5b4d076d5b09c3752454 (diff) |
Stop using deprecated NodeResources constructors
Diffstat (limited to 'node-repository/src/test')
60 files changed, 267 insertions, 262 deletions
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/NodeRepositoryTester.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/NodeRepositoryTester.java index 9b9e7397323..f0f523b9b9b 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/NodeRepositoryTester.java +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/NodeRepositoryTester.java @@ -71,9 +71,9 @@ public class NodeRepositoryTester { private FlavorsConfig createConfig() { FlavorConfigBuilder b = new FlavorConfigBuilder(); - b.addFlavor("default", 2., 4., 100, Flavor.Type.BARE_METAL).cost(3); - b.addFlavor("small", 1., 2., 50, Flavor.Type.BARE_METAL).cost(2); - b.addFlavor("docker", 1., 2., 50, Flavor.Type.DOCKER_CONTAINER).cost(1); + b.addFlavor("default", 2., 4., 100, 10, Flavor.Type.BARE_METAL).cost(3); + b.addFlavor("small", 1., 2., 50, 5, Flavor.Type.BARE_METAL).cost(2); + b.addFlavor("docker", 1., 2., 50, 1, Flavor.Type.DOCKER_CONTAINER).cost(1); return b.build(); } diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/CapacityCheckerTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/CapacityCheckerTest.java index 1f2112673d1..132ab40b3de 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/CapacityCheckerTest.java +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/CapacityCheckerTest.java @@ -7,10 +7,13 @@ import org.junit.Test; import java.io.IOException; import java.nio.file.Paths; -import java.util.*; +import java.util.List; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNotEquals; +import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; -import static org.junit.Assert.*; /** * @author mgimle @@ -37,8 +40,8 @@ public class CapacityCheckerTest { @Test public void testOvercommittedHosts() { tester.createNodes(7, 4, - 10, new NodeResources(-1, 10, 100), 10, - 0, new NodeResources(1, 10, 100), 10); + 10, new NodeResources(-1, 10, 100, 1), 10, + 0, new NodeResources(1, 10, 100, 1), 10); int overcommittedHosts = tester.capacityChecker.findOvercommittedHosts().size(); assertEquals(tester.nodeRepository.getNodes(NodeType.host).size(), overcommittedHosts); } @@ -46,15 +49,15 @@ public class CapacityCheckerTest { @Test public void testEdgeCaseFailurePaths() { tester.createNodes(1, 1, - 0, new NodeResources(1, 10, 100), 10, - 0, new NodeResources(1, 10, 100), 10); + 0, new NodeResources(1, 10, 100, 1), 10, + 0, new NodeResources(1, 10, 100, 1), 10); var failurePath = tester.capacityChecker.worstCaseHostLossLeadingToFailure(); assertFalse("Computing worst case host loss with no hosts should return an empty optional.", failurePath.isPresent()); // Odd edge case that should never be able to occur in prod tester.createNodes(1, 10, - 10, new NodeResources(10, 1000, 10000), 100, - 1, new NodeResources(10, 1000, 10000), 100); + 10, new NodeResources(10, 1000, 10000, 1), 100, + 1, new NodeResources(10, 1000, 10000, 1), 100); failurePath = tester.capacityChecker.worstCaseHostLossLeadingToFailure(); assertTrue(failurePath.isPresent()); assertTrue("Computing worst case host loss if all hosts have to be removed should result in an non-empty failureReason with empty nodes.", @@ -62,8 +65,8 @@ public class CapacityCheckerTest { assertEquals(tester.nodeRepository.getNodes(NodeType.host).size(), failurePath.get().hostsCausingFailure.size()); tester.createNodes(3, 30, - 10, new NodeResources(0, 0, 10000), 1000, - 0, new NodeResources(0, 0, 0), 0); + 10, new NodeResources(0, 0, 10000, 1), 1000, + 0, new NodeResources(0, 0, 0, 0), 0); failurePath = tester.capacityChecker.worstCaseHostLossLeadingToFailure(); assertTrue(failurePath.isPresent()); if (failurePath.get().failureReason.tenant.isPresent()) { @@ -77,8 +80,8 @@ public class CapacityCheckerTest { @Test public void testIpFailurePaths() { tester.createNodes(1, 10, - 10, new NodeResources(10, 1000, 10000), 1, - 10, new NodeResources(10, 1000, 10000), 1); + 10, new NodeResources(10, 1000, 10000, 1), 1, + 10, new NodeResources(10, 1000, 10000, 1), 1); var failurePath = tester.capacityChecker.worstCaseHostLossLeadingToFailure(); assertTrue(failurePath.isPresent()); if (failurePath.get().failureReason.tenant.isPresent()) { @@ -92,8 +95,8 @@ public class CapacityCheckerTest { @Test public void testNodeResourceFailurePaths() { tester.createNodes(1, 10, - 10, new NodeResources(1, 100, 1000), 100, - 10, new NodeResources(0, 100, 1000), 100); + 10, new NodeResources(1, 100, 1000, 1), 100, + 10, new NodeResources(0, 100, 1000, 1), 100); var failurePath = tester.capacityChecker.worstCaseHostLossLeadingToFailure(); assertTrue(failurePath.isPresent()); if (failurePath.get().failureReason.tenant.isPresent()) { @@ -103,8 +106,8 @@ public class CapacityCheckerTest { } else fail(); tester.createNodes(1, 10, - 10, new NodeResources(10, 1, 1000), 100, - 10, new NodeResources(10, 0, 1000), 100); + 10, new NodeResources(10, 1, 1000, 1), 100, + 10, new NodeResources(10, 0, 1000, 1), 100); failurePath = tester.capacityChecker.worstCaseHostLossLeadingToFailure(); assertTrue(failurePath.isPresent()); if (failurePath.get().failureReason.tenant.isPresent()) { @@ -114,8 +117,8 @@ public class CapacityCheckerTest { } else fail(); tester.createNodes(1, 10, - 10, new NodeResources(10, 100, 10), 100, - 10, new NodeResources(10, 100, 0), 100); + 10, new NodeResources(10, 100, 10, 1), 100, + 10, new NodeResources(10, 100, 0, 1), 100); failurePath = tester.capacityChecker.worstCaseHostLossLeadingToFailure(); assertTrue(failurePath.isPresent()); if (failurePath.get().failureReason.tenant.isPresent()) { @@ -125,9 +128,9 @@ public class CapacityCheckerTest { } else fail(); int emptyHostsWithSlowDisk = 10; - tester.createNodes(1, 10, List.of(new NodeResources(1, 10, 100)), - 10, new NodeResources(0, 0, 0), 100, - 10, new NodeResources(10, 1000, 10000, NodeResources.DiskSpeed.slow), 100); + tester.createNodes(1, 10, List.of(new NodeResources(1, 10, 100, 1)), + 10, new NodeResources(0, 0, 0, 0), 100, + 10, new NodeResources(10, 1000, 10000, 1, NodeResources.DiskSpeed.slow), 100); failurePath = tester.capacityChecker.worstCaseHostLossLeadingToFailure(); assertTrue(failurePath.isPresent()); if (failurePath.get().failureReason.tenant.isPresent()) { @@ -142,8 +145,8 @@ public class CapacityCheckerTest { @Test public void testParentHostPolicyIntegrityFailurePaths() { tester.createNodes(1, 1, - 10, new NodeResources(1, 100, 1000), 100, - 10, new NodeResources(10, 1000, 10000), 100); + 10, new NodeResources(1, 100, 1000, 1), 100, + 10, new NodeResources(10, 1000, 10000, 1), 100); var failurePath = tester.capacityChecker.worstCaseHostLossLeadingToFailure(); assertTrue(failurePath.isPresent()); if (failurePath.get().failureReason.tenant.isPresent()) { @@ -153,8 +156,8 @@ public class CapacityCheckerTest { } else fail(); tester.createNodes(1, 2, - 10, new NodeResources(10, 100, 1000), 1, - 0, new NodeResources(0, 0, 0), 0); + 10, new NodeResources(10, 100, 1000, 1), 1, + 0, new NodeResources(0, 0, 0, 0), 0); failurePath = tester.capacityChecker.worstCaseHostLossLeadingToFailure(); assertTrue(failurePath.isPresent()); if (failurePath.get().failureReason.tenant.isPresent()) { diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/CapacityCheckerTester.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/CapacityCheckerTester.java index f5fd0e0526d..29523ff9296 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/CapacityCheckerTester.java +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/CapacityCheckerTester.java @@ -7,7 +7,17 @@ import com.fasterxml.jackson.annotation.JsonSetter; import com.fasterxml.jackson.databind.ObjectMapper; import com.yahoo.collections.Tuple2; import com.yahoo.component.Version; -import com.yahoo.config.provision.*; +import com.yahoo.config.provision.ApplicationId; +import com.yahoo.config.provision.ClusterMembership; +import com.yahoo.config.provision.ClusterSpec; +import com.yahoo.config.provision.DockerImage; +import com.yahoo.config.provision.Environment; +import com.yahoo.config.provision.Flavor; +import com.yahoo.config.provision.NodeFlavors; +import com.yahoo.config.provision.NodeResources; +import com.yahoo.config.provision.NodeType; +import com.yahoo.config.provision.RegionName; +import com.yahoo.config.provision.Zone; import com.yahoo.test.ManualClock; import com.yahoo.vespa.curator.Curator; import com.yahoo.vespa.curator.mock.MockCurator; @@ -21,7 +31,10 @@ import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; import java.time.Instant; -import java.util.*; +import java.util.ArrayList; +import java.util.List; +import java.util.Optional; +import java.util.Set; import java.util.stream.Collectors; import java.util.stream.IntStream; @@ -149,7 +162,7 @@ public class CapacityCheckerTester { int numHosts, NodeResources hostExcessCapacity, int hostExcessIps, int numEmptyHosts, NodeResources emptyHostExcessCapacity, int emptyHostExcessIps) { List<NodeResources> childResources = List.of( - new NodeResources(1, 10, 100) + new NodeResources(1, 10, 100, 1) ); createNodes(childrenPerHost, numDistinctChildren, childResources, @@ -172,7 +185,7 @@ public class CapacityCheckerTester { NodeResources containingNodeResources(List<NodeResources> resources, NodeResources excessCapacity) { NodeResources usedByChildren = resources.stream() - .reduce(new NodeResources(0, 0, 0), NodeResources::add); + .reduce(new NodeResources(0, 0, 0, 0), NodeResources::add); return usedByChildren.add(excessCapacity); } @@ -215,6 +228,7 @@ public class CapacityCheckerTester { @JsonProperty double minDiskAvailableGb; @JsonProperty double minMainMemoryAvailableGb; @JsonProperty double minCpuCores; + @JsonProperty double bandwidth; @JsonProperty boolean fastDisk; @JsonProperty Set<String> ipAddresses; @JsonProperty Set<String> additionalIpAddresses; @@ -249,7 +263,7 @@ public class CapacityCheckerTester { diskSpeed = nodeModel.fastDisk ? NodeResources.DiskSpeed.fast : NodeResources.DiskSpeed.slow; } NodeResources nr = new NodeResources(nodeModel.minCpuCores, nodeModel.minMainMemoryAvailableGb, - nodeModel.minDiskAvailableGb, diskSpeed); + nodeModel.minDiskAvailableGb, nodeModel.bandwidth * 1000, diskSpeed); Flavor f = new Flavor(nr); Node node = nodeRepository.createNode(nodeModel.id, nodeModel.hostname, diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/FailedExpirerTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/FailedExpirerTest.java index 89c6ed6aa0d..737e47925f2 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/FailedExpirerTest.java +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/FailedExpirerTest.java @@ -261,8 +261,8 @@ public class FailedExpirerTest { private static class FailureScenario { private static final NodeFlavors nodeFlavors = FlavorConfigBuilder.createDummies("default", "docker"); - public static final NodeResources defaultFlavor = new NodeResources(2, 2, 2); - public static final NodeResources dockerFlavor = new NodeResources(1, 1, 1); + public static final NodeResources defaultFlavor = new NodeResources(2, 2, 2, 2); + public static final NodeResources dockerFlavor = new NodeResources(1, 1, 1, 1); private final MockCurator curator = new MockCurator(); private final ManualClock clock = new ManualClock(); diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/InactiveAndFailedExpirerTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/InactiveAndFailedExpirerTest.java index 8692c551a2c..2383f4529a7 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/InactiveAndFailedExpirerTest.java +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/InactiveAndFailedExpirerTest.java @@ -42,7 +42,7 @@ import static org.mockito.Mockito.mock; */ public class InactiveAndFailedExpirerTest { - private final NodeResources nodeResources = new NodeResources(2, 8, 50); + private final NodeResources nodeResources = new NodeResources(2, 8, 50, 1); private final ApplicationId applicationId = ApplicationId.from(TenantName.from("foo"), ApplicationName.from("bar"), 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 26b79ab9053..b23af955f42 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 @@ -4,8 +4,8 @@ package com.yahoo.vespa.hosted.provision.maintenance; import com.yahoo.component.Vtag; import com.yahoo.config.provision.ApplicationId; import com.yahoo.config.provision.ClusterSpec; -import com.yahoo.config.provision.NodeResources; import com.yahoo.config.provision.HostSpec; +import com.yahoo.config.provision.NodeResources; import com.yahoo.transaction.NestedTransaction; import com.yahoo.vespa.hosted.provision.lb.LoadBalancer; import com.yahoo.vespa.hosted.provision.lb.LoadBalancerId; @@ -128,7 +128,7 @@ public class LoadBalancerExpirerTest { List<HostSpec> hosts = tester.prepare(application, ClusterSpec.request(ClusterSpec.Type.container, cluster, Vtag.currentVersion, false), 2, 1, - new NodeResources(1, 1, 1)); + new NodeResources(1, 1, 1, 0.3)); if (activate) { tester.activate(application, hosts); } diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/MetricsReporterTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/MetricsReporterTest.java index 4eba95cb817..b2825a409e1 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/MetricsReporterTest.java +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/MetricsReporterTest.java @@ -126,12 +126,12 @@ public class MetricsReporterTest { nodeRepository.setReady("dockerHost", Agent.system, getClass().getSimpleName()); Node container1 = Node.createDockerNode(Set.of("::2"), Set.of(), "container1", - Optional.of("dockerHost"), new NodeResources(1, 3, 2), NodeType.tenant); + Optional.of("dockerHost"), new NodeResources(1, 3, 2, 1), NodeType.tenant); container1 = container1.with(allocation(Optional.of("app1")).get()); nodeRepository.addDockerNodes(new LockedNodeList(List.of(container1), nodeRepository.lockAllocation())); Node container2 = Node.createDockerNode(Set.of("::3"), Set.of(), "container2", - Optional.of("dockerHost"), new NodeResources(2, 4, 4), NodeType.tenant); + Optional.of("dockerHost"), new NodeResources(2, 4, 4, 1), NodeType.tenant); container2 = container2.with(allocation(Optional.of("app2")).get()); nodeRepository.addDockerNodes(new LockedNodeList(List.of(container2), nodeRepository.lockAllocation())); diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/NodeFailTester.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/NodeFailTester.java index f4b36b12bff..d44b8ca2989 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/NodeFailTester.java +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/NodeFailTester.java @@ -49,7 +49,7 @@ import static org.junit.Assert.assertEquals; */ public class NodeFailTester { - public static final NodeResources nodeResources = new NodeResources(2, 8, 50); + public static final NodeResources nodeResources = new NodeResources(2, 8, 50, 1); // Immutable components public static final ApplicationId tenantHostApp = ApplicationId.from("hosted-vespa", "tenant-host", "default"); @@ -123,8 +123,8 @@ public class NodeFailTester { ClusterSpec clusterApp1 = ClusterSpec.request(ClusterSpec.Type.container, ClusterSpec.Id.from("test"), Version.fromString("6.75.0"), false); ClusterSpec clusterApp2 = ClusterSpec.request(ClusterSpec.Type.content, ClusterSpec.Id.from("test"), Version.fromString("6.75.0"), false); Capacity allHosts = Capacity.fromRequiredNodeType(NodeType.host); - Capacity capacity1 = Capacity.fromCount(3, new NodeResources(1, 1, 1), false, true); - Capacity capacity2 = Capacity.fromCount(5, new NodeResources(1, 1, 1), false, true); + Capacity capacity1 = Capacity.fromCount(3, new NodeResources(1, 1, 1, 0.3), false, true); + Capacity capacity2 = Capacity.fromCount(5, new NodeResources(1, 1, 1, 0.3), false, true); tester.activate(tenantHostApp, clusterNodeAdminApp, allHosts); tester.activate(app1, clusterApp1, capacity1); tester.activate(app2, clusterApp2, capacity2); diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/NodeFailerTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/NodeFailerTest.java index 7d1a5f50a7e..1cf5ce252d7 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/NodeFailerTest.java +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/NodeFailerTest.java @@ -301,7 +301,7 @@ public class NodeFailerTest { NodeFailTester tester = NodeFailTester.withTwoApplications(); // Add ready docker node - NodeResources newNodeResources = new NodeResources(3,4,5); + NodeResources newNodeResources = new NodeResources(3, 4, 5, 1); tester.createReadyNodes(1, 16, newNodeResources); // For a day all nodes work so nothing happens diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/OperatorChangeApplicationMaintainerTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/OperatorChangeApplicationMaintainerTest.java index 95f62521628..d24bd61e9f5 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/OperatorChangeApplicationMaintainerTest.java +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/OperatorChangeApplicationMaintainerTest.java @@ -118,7 +118,7 @@ public class OperatorChangeApplicationMaintainerTest { final NodeRepository nodeRepository; final MockDeployer deployer; - final NodeResources nodeResources = new NodeResources(2, 8, 50); + final NodeResources nodeResources = new NodeResources(2, 8, 50, 1); final ApplicationId app1 = ApplicationId.from(TenantName.from("foo1"), ApplicationName.from("bar"), InstanceName.from("fuz")); final ApplicationId app2 = ApplicationId.from(TenantName.from("foo2"), ApplicationName.from("bar"), InstanceName.from("fuz")); final ClusterSpec clusterApp1 = ClusterSpec.request(ClusterSpec.Type.container, ClusterSpec.Id.from("test"), Version.fromString("6.42"), false); diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/PeriodicApplicationMaintainerTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/PeriodicApplicationMaintainerTest.java index 94e43e4f99e..cd139a1be19 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/PeriodicApplicationMaintainerTest.java +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/PeriodicApplicationMaintainerTest.java @@ -37,7 +37,6 @@ import org.junit.Test; import java.time.Duration; import java.time.Instant; import java.util.ArrayList; -import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Optional; @@ -242,7 +241,7 @@ public class PeriodicApplicationMaintainerTest { final NodeRepository nodeRepository; final MockDeployer deployer; - final NodeResources nodeResources = new NodeResources(2, 8, 50); + final NodeResources nodeResources = new NodeResources(2, 8, 50, 1); final ApplicationId app1 = ApplicationId.from(TenantName.from("foo1"), ApplicationName.from("bar"), InstanceName.from("fuz")); final ApplicationId app2 = ApplicationId.from(TenantName.from("foo2"), ApplicationName.from("bar"), InstanceName.from("fuz")); final ClusterSpec clusterApp1 = ClusterSpec.request(ClusterSpec.Type.container, ClusterSpec.Id.from("test"), Version.fromString("6.42"), false); diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/ReservationExpirerTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/ReservationExpirerTest.java index 3861e4ff98c..11ee6637720 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/ReservationExpirerTest.java +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/ReservationExpirerTest.java @@ -51,8 +51,8 @@ public class ReservationExpirerTest { NodeRepositoryProvisioner provisioner = new NodeRepositoryProvisioner(nodeRepository, Zone.defaultZone(), new MockProvisionServiceProvider(), new InMemoryFlagSource()); List<Node> nodes = new ArrayList<>(2); - nodes.add(nodeRepository.createNode(UUID.randomUUID().toString(), UUID.randomUUID().toString(), Optional.empty(), new Flavor(new NodeResources(2, 8, 50)), NodeType.tenant)); - nodes.add(nodeRepository.createNode(UUID.randomUUID().toString(), UUID.randomUUID().toString(), Optional.empty(), new Flavor(new NodeResources(2, 8, 50)), NodeType.tenant)); + nodes.add(nodeRepository.createNode(UUID.randomUUID().toString(), UUID.randomUUID().toString(), Optional.empty(), new Flavor(new NodeResources(2, 8, 50, 1)), NodeType.tenant)); + nodes.add(nodeRepository.createNode(UUID.randomUUID().toString(), UUID.randomUUID().toString(), Optional.empty(), new Flavor(new NodeResources(2, 8, 50, 1)), NodeType.tenant)); nodes.add(nodeRepository.createNode(UUID.randomUUID().toString(), UUID.randomUUID().toString(), Optional.empty(), flavors.getFlavorOrThrow("default"), NodeType.host)); nodes = nodeRepository.addNodes(nodes); nodes = nodeRepository.setDirty(nodes, Agent.system, getClass().getSimpleName()); @@ -62,7 +62,7 @@ public class ReservationExpirerTest { nodeRepository.setReady(nodes, Agent.system, getClass().getSimpleName()); ApplicationId applicationId = new ApplicationId.Builder().tenant("foo").applicationName("bar").instanceName("fuz").build(); ClusterSpec cluster = ClusterSpec.request(ClusterSpec.Type.content, ClusterSpec.Id.from("test"), Version.fromString("6.42"), false); - provisioner.prepare(applicationId, cluster, Capacity.fromCount(2, new NodeResources(2, 8, 50)), 1, null); + provisioner.prepare(applicationId, cluster, Capacity.fromCount(2, new NodeResources(2, 8, 50, 1)), 1, null); assertEquals(2, nodeRepository.getNodes(NodeType.tenant, Node.State.reserved).size()); // Reservation times out diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/RetiredExpirerTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/RetiredExpirerTest.java index 7e471a81cf8..4646459e37e 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/RetiredExpirerTest.java +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/RetiredExpirerTest.java @@ -57,7 +57,7 @@ import static org.mockito.Mockito.verify; */ public class RetiredExpirerTest { - private final NodeResources nodeResources = new NodeResources(2, 8, 50); + private final NodeResources nodeResources = new NodeResources(2, 8, 50, 1); private Curator curator = new MockCurator(); private final ManualClock clock = new ManualClock(); diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/AclProvisioningTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/AclProvisioningTest.java index be1c138de54..6da72f6ebdd 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/AclProvisioningTest.java +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/AclProvisioningTest.java @@ -6,8 +6,8 @@ import com.yahoo.component.Version; import com.yahoo.config.provision.ApplicationId; import com.yahoo.config.provision.Capacity; import com.yahoo.config.provision.ClusterSpec; -import com.yahoo.config.provision.NodeResources; import com.yahoo.config.provision.HostSpec; +import com.yahoo.config.provision.NodeResources; import com.yahoo.config.provision.NodeType; import com.yahoo.vespa.hosted.provision.Node; import com.yahoo.vespa.hosted.provision.node.NodeAcl; @@ -34,7 +34,7 @@ import static org.junit.Assert.assertFalse; */ public class AclProvisioningTest { - private final NodeResources nodeResources = new NodeResources(2, 8, 50); + private final NodeResources nodeResources = new NodeResources(2, 8, 50, 1); private ProvisioningTester tester = new ProvisioningTester.Builder().build(); @@ -134,7 +134,7 @@ public class AclProvisioningTest { // Populate repo List<Node> dockerHostNodes = tester.makeReadyNodes(2, "default", NodeType.host); Node dockerHostNodeUnderTest = dockerHostNodes.get(0); - List<Node> dockerNodes = tester.makeReadyVirtualDockerNodes(5, new NodeResources(1, 1, 1), + List<Node> dockerNodes = tester.makeReadyVirtualDockerNodes(5, new NodeResources(1, 1, 1, 1), dockerHostNodeUnderTest.hostname()); List<NodeAcl> acls = tester.nodeRepository().getNodeAcls(dockerHostNodeUnderTest, true); diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/AllocationSimulator.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/AllocationSimulator.java index 76d988a291b..1343335d131 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/AllocationSimulator.java +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/AllocationSimulator.java @@ -17,7 +17,7 @@ import com.yahoo.vespa.hosted.provision.node.IP; import com.yahoo.vespa.hosted.provision.node.Reports; import com.yahoo.vespa.hosted.provision.node.Status; -import javax.swing.JFrame; +import javax.swing.*; import java.util.ArrayList; import java.util.Collections; import java.util.HashSet; @@ -44,14 +44,14 @@ public class AllocationSimulator { // Setup flavors // FlavorConfigBuilder b = new FlavorConfigBuilder(); - b.addFlavor("host-large", 8., 8., 8, Flavor.Type.BARE_METAL); - b.addFlavor("host-small", 5., 5., 5, Flavor.Type.BARE_METAL); - b.addFlavor("d-1", 1, 1., 1, Flavor.Type.DOCKER_CONTAINER); - b.addFlavor("d-2", 2, 2., 2, Flavor.Type.DOCKER_CONTAINER); - b.addFlavor("d-3", 3, 3., 3, Flavor.Type.DOCKER_CONTAINER); - b.addFlavor("d-3-disk", 3, 3., 5, Flavor.Type.DOCKER_CONTAINER); - b.addFlavor("d-3-mem", 3, 5., 3, Flavor.Type.DOCKER_CONTAINER); - b.addFlavor("d-3-cpu", 5, 3., 3, Flavor.Type.DOCKER_CONTAINER); + b.addFlavor("host-large", 8., 8., 8, 8, Flavor.Type.BARE_METAL); + b.addFlavor("host-small", 5., 5., 5, 8, Flavor.Type.BARE_METAL); + b.addFlavor("d-1", 1, 1., 1, 1, Flavor.Type.DOCKER_CONTAINER); + b.addFlavor("d-2", 2, 2., 2, 2, Flavor.Type.DOCKER_CONTAINER); + b.addFlavor("d-3", 3, 3., 3, 3, Flavor.Type.DOCKER_CONTAINER); + b.addFlavor("d-3-disk", 3, 3., 5, 3, Flavor.Type.DOCKER_CONTAINER); + b.addFlavor("d-3-mem", 3, 5., 3, 3, Flavor.Type.DOCKER_CONTAINER); + b.addFlavor("d-3-cpu", 5, 3., 3, 3, Flavor.Type.DOCKER_CONTAINER); flavors = new NodeFlavors(b.build()); // diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/DockerHostCapacityTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/DockerHostCapacityTest.java index 60a31f1c804..3ccbd257b3c 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/DockerHostCapacityTest.java +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/DockerHostCapacityTest.java @@ -91,16 +91,16 @@ public class DockerHostCapacityTest { @Test public void freeCapacityOf() { - assertEquals(new NodeResources(5, 4, 8), capacity.freeCapacityOf(host1, false)); - assertEquals(new NodeResources(5, 6, 8), capacity.freeCapacityOf(host3, false)); + assertEquals(new NodeResources(5, 4, 8, 2), capacity.freeCapacityOf(host1, false)); + assertEquals(new NodeResources(5, 6, 8, 4.5), capacity.freeCapacityOf(host3, false)); doAnswer(invocation -> { NodeResources totalHostResources = (NodeResources) invocation.getArguments()[0]; - return totalHostResources.subtract(new NodeResources(1, 2, 3, NodeResources.DiskSpeed.any)); + return totalHostResources.subtract(new NodeResources(1, 2, 3, 0.5, NodeResources.DiskSpeed.any)); }).when(hostResourcesCalculator).availableCapacityOf(any()); - assertEquals(new NodeResources(4, 2, 5), capacity.freeCapacityOf(host1, false)); - assertEquals(new NodeResources(4, 4, 5), capacity.freeCapacityOf(host3, false)); + assertEquals(new NodeResources(4, 2, 5, 1.5), capacity.freeCapacityOf(host1, false)); + assertEquals(new NodeResources(4, 4, 5, 4), capacity.freeCapacityOf(host3, false)); } private Set<String> generateIPs(int start, int count) { 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 eeb90a06951..38651a77949 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 @@ -36,7 +36,7 @@ import static org.junit.Assert.fail; */ public class DockerProvisioningTest { - private static final NodeResources dockerFlavor = new NodeResources(1, 1, 1); + private static final NodeResources dockerFlavor = new NodeResources(1, 1, 1, 1); @Test public void docker_application_deployment() { @@ -74,7 +74,7 @@ public class DockerProvisioningTest { ProvisioningTester tester = new ProvisioningTester.Builder().zone(new Zone(Environment.prod, RegionName.from("us-east"))).build(); ApplicationId zoneApplication = tester.makeApplicationId(); - List<Node> parents = tester.makeReadyNodes(10, new NodeResources(2, 2, 2), NodeType.host, 1); + List<Node> parents = tester.makeReadyNodes(10, new NodeResources(2, 2, 2, 2), NodeType.host, 1); for (Node parent : parents) tester.makeReadyVirtualDockerNodes(1, dockerFlavor, parent.hostname()); @@ -204,7 +204,7 @@ public class DockerProvisioningTest { } catch (Exception e) { assertEquals("No room for 3 nodes as 2 of 4 hosts are exclusive", - "Could not satisfy request for 3 nodes with [vcpu: 1.0, memory: 1.0 Gb, disk 1.0 Gb] for container cluster 'myContainer' group 0 6.39 in tenant1.app1: Not enough nodes available due to host exclusivity constraints.", + "Could not satisfy request for 3 nodes with [vcpu: 1.0, memory: 1.0 Gb, disk 1.0 Gb, bandwidth: 1.0 Gbps] for container cluster 'myContainer' group 0 6.39 in tenant1.app1: Not enough nodes available due to host exclusivity constraints.", e.getMessage()); } @@ -225,7 +225,7 @@ public class DockerProvisioningTest { NodeList nodes = tester.getNodes(application1, Node.State.active); assertEquals(1, nodes.size()); - assertEquals("[vcpu: 1.0, memory: 1.0 Gb, disk 1.0 Gb]", nodes.asList().get(0).flavor().name()); + assertEquals("[vcpu: 1.0, memory: 1.0 Gb, disk 1.0 Gb, bandwidth: 1.0 Gbps]", nodes.asList().get(0).flavor().name()); } private Set<String> hostsOf(NodeList nodes) { 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 d543856f71c..670473ff238 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 @@ -65,7 +65,7 @@ public class DynamicDockerAllocationTest { tester.makeReadyNodes(4, "host-small", NodeType.host, 32); deployZoneApp(tester); List<Node> dockerHosts = tester.nodeRepository().getNodes(NodeType.host, Node.State.active); - NodeResources flavor = new NodeResources(1, 1, 1); + NodeResources flavor = new NodeResources(1, 1, 1, 1); // Application 1 ApplicationId application1 = makeApplicationId("t1", "a1"); @@ -108,7 +108,7 @@ public class DynamicDockerAllocationTest { tester.makeReadyNodes(5, "host-small", NodeType.host, 32); deployZoneApp(tester); List<Node> dockerHosts = tester.nodeRepository().getNodes(NodeType.host, Node.State.active); - NodeResources flavor = new NodeResources(1, 1, 1); + NodeResources flavor = new NodeResources(1, 1, 1, 0.3); // Application 1 ApplicationId application1 = makeApplicationId("t1", "a1"); @@ -165,7 +165,7 @@ public class DynamicDockerAllocationTest { tester.makeReadyNodes(2, "host-small", NodeType.host, 32); deployZoneApp(tester); List<Node> dockerHosts = tester.nodeRepository().getNodes(NodeType.host, Node.State.active); - NodeResources flavor = new NodeResources(1, 1, 1); + NodeResources flavor = new NodeResources(1, 1, 1, 1); // Application 1 ApplicationId application1 = makeApplicationId("t1", "a1"); @@ -194,7 +194,7 @@ public class DynamicDockerAllocationTest { //Deploy an application having 6 nodes (3 nodes in 2 groups). We only have 5 docker hosts available ApplicationId application1 = tester.makeApplicationId(); - tester.prepare(application1, clusterSpec("myContent.t1.a1"), 6, 2, new NodeResources(1, 1, 1)); + tester.prepare(application1, clusterSpec("myContent.t1.a1"), 6, 2, new NodeResources(1, 1, 1, 1)); fail("Two groups have been allocated to the same parent host"); } @@ -212,7 +212,7 @@ public class DynamicDockerAllocationTest { ApplicationId application1 = tester.makeApplicationId(); tester.makeReadyNodes(5, "host-small", NodeType.host, 32); deployZoneApp(tester); - NodeResources flavor = new NodeResources(1, 1, 1); + NodeResources flavor = new NodeResources(1, 1, 1, 1); // Deploy initial state (can max deploy 3 nodes due to redundancy requirements) ClusterSpec clusterSpec = clusterSpec("myContent.t1.a1"); @@ -242,7 +242,7 @@ public class DynamicDockerAllocationTest { tester.makeReadyNodes(3, "host-small", NodeType.host, 32); deployZoneApp(tester); ApplicationId application1 = tester.makeApplicationId(); - List<HostSpec> hosts = tester.prepare(application1, clusterSpec("myContent.t1.a1"), 3, 1, new NodeResources(1, 1, 1)); + List<HostSpec> hosts = tester.prepare(application1, clusterSpec("myContent.t1.a1"), 3, 1, new NodeResources(1, 1, 1, 1)); tester.activate(application1, ImmutableSet.copyOf(hosts)); List<Node> initialSpareCapacity = findSpareCapacity(tester); @@ -252,10 +252,10 @@ public class DynamicDockerAllocationTest { @Test public void cd_uses_slow_disk_nodes_for_docker_hosts() { 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); + tester.makeReadyNodes(4, new Flavor(new NodeResources(1, 2, 3, 1, NodeResources.DiskSpeed.slow)), NodeType.host, 10, true); deployZoneApp(tester); ApplicationId application1 = tester.makeApplicationId(); - List<HostSpec> hosts = tester.prepare(application1, clusterSpec("myContent.t1.a1"), 3, 1, new NodeResources(1, 1, 1)); + List<HostSpec> hosts = tester.prepare(application1, clusterSpec("myContent.t1.a1"), 3, 1, new NodeResources(1, 1, 1, 1)); tester.activate(application1, ImmutableSet.copyOf(hosts)); } @@ -266,7 +266,7 @@ public class DynamicDockerAllocationTest { deployZoneApp(tester); ApplicationId application = tester.makeApplicationId(); - tester.prepare(application, clusterSpec("myContent.t2.a2"), 2, 1, new NodeResources(1, 1, 1)); + tester.prepare(application, clusterSpec("myContent.t2.a2"), 2, 1, new NodeResources(1, 1, 1, 1)); } @Test @@ -276,7 +276,7 @@ public class DynamicDockerAllocationTest { deployZoneApp(tester); ApplicationId application = tester.makeApplicationId(); - List<HostSpec> hosts = tester.prepare(application, clusterSpec("myContent.t1.a1"), 2, 1, new NodeResources(1, 1, 1)); + List<HostSpec> hosts = tester.prepare(application, clusterSpec("myContent.t1.a1"), 2, 1, new NodeResources(1, 1, 1, 1)); tester.activate(application, hosts); List<Node> activeNodes = tester.nodeRepository().getNodes(application); @@ -302,13 +302,13 @@ public class DynamicDockerAllocationTest { @Test public void slow_disk_nodes_are_preferentially_allocated() { ProvisioningTester tester = new ProvisioningTester.Builder().zone(new Zone(Environment.prod, RegionName.from("us-east"))).flavorsConfig(flavorsConfig()).build(); - tester.makeReadyNodes(2, new Flavor(new NodeResources(1, 2, 3, NodeResources.DiskSpeed.fast)), NodeType.host, 10, true); - tester.makeReadyNodes(2, new Flavor(new NodeResources(1, 2, 3, NodeResources.DiskSpeed.slow)), NodeType.host, 10, true); + tester.makeReadyNodes(2, new Flavor(new NodeResources(1, 2, 3, 1, NodeResources.DiskSpeed.fast)), NodeType.host, 10, true); + tester.makeReadyNodes(2, new Flavor(new NodeResources(1, 2, 3, 1, NodeResources.DiskSpeed.slow)), NodeType.host, 10, true); deployZoneApp(tester); ApplicationId application = tester.makeApplicationId(); ClusterSpec cluster = ClusterSpec.request(ClusterSpec.Type.container, ClusterSpec.Id.from("test"), Version.fromString("1"), false); - NodeResources resources = new NodeResources(1, 1, 1, NodeResources.DiskSpeed.any); + NodeResources resources = new NodeResources(1, 1, 1, 1, NodeResources.DiskSpeed.any); List<HostSpec> hosts = tester.prepare(application, cluster, 2, 1, resources); assertEquals(2, hosts.size()); @@ -319,13 +319,13 @@ public class DynamicDockerAllocationTest { private void provisionFastAndSlowThenDeploy(NodeResources.DiskSpeed requestDiskSpeed, boolean expectOutOfCapacity) { ProvisioningTester tester = new ProvisioningTester.Builder().zone(new Zone(Environment.prod, RegionName.from("us-east"))).flavorsConfig(flavorsConfig()).build(); - tester.makeReadyNodes(2, new Flavor(new NodeResources(1, 2, 3, NodeResources.DiskSpeed.fast)), NodeType.host, 10, true); - tester.makeReadyNodes(2, new Flavor(new NodeResources(1, 2, 3, NodeResources.DiskSpeed.slow)), NodeType.host, 10, true); + tester.makeReadyNodes(2, new Flavor(new NodeResources(1, 2, 3, 1, NodeResources.DiskSpeed.fast)), NodeType.host, 10, true); + tester.makeReadyNodes(2, new Flavor(new NodeResources(1, 2, 3, 1, NodeResources.DiskSpeed.slow)), NodeType.host, 10, true); deployZoneApp(tester); ApplicationId application = tester.makeApplicationId(); ClusterSpec cluster = ClusterSpec.request(ClusterSpec.Type.container, ClusterSpec.Id.from("test"), Version.fromString("1"), false); - NodeResources resources = new NodeResources(1, 1, 1, requestDiskSpeed); + NodeResources resources = new NodeResources(1, 1, 1, 1, requestDiskSpeed); try { List<HostSpec> hosts = tester.prepare(application, cluster, 4, 1, resources); @@ -341,13 +341,13 @@ public class DynamicDockerAllocationTest { @Test public void nodeResourcesAreRelaxedInDev() { ProvisioningTester tester = new ProvisioningTester.Builder().zone(new Zone(Environment.dev, RegionName.from("us-east"))).flavorsConfig(flavorsConfig()).build(); - tester.makeReadyNodes(2, new Flavor(new NodeResources(1, 2, 3, NodeResources.DiskSpeed.fast)), NodeType.host, 10, true); - tester.makeReadyNodes(2, new Flavor(new NodeResources(1, 2, 3, NodeResources.DiskSpeed.slow)), NodeType.host, 10, true); + tester.makeReadyNodes(2, new Flavor(new NodeResources(1, 2, 3, 1, NodeResources.DiskSpeed.fast)), NodeType.host, 10, true); + tester.makeReadyNodes(2, new Flavor(new NodeResources(1, 2, 3, 1, NodeResources.DiskSpeed.slow)), NodeType.host, 10, true); deployZoneApp(tester); ApplicationId application = tester.makeApplicationId(); ClusterSpec cluster = ClusterSpec.request(ClusterSpec.Type.container, ClusterSpec.Id.from("test"), Version.fromString("1"), false); - NodeResources resources = new NodeResources(1, 1, 1, NodeResources.DiskSpeed.fast); + NodeResources resources = new NodeResources(1, 1, 1, 1, NodeResources.DiskSpeed.fast); List<HostSpec> hosts = tester.prepare(application, cluster, 4, 1, resources); assertEquals(1, hosts.size()); @@ -360,7 +360,7 @@ public class DynamicDockerAllocationTest { @Test public void testSwitchingFromLegacyFlavorSyntaxToResourcesDoesNotCauseReallocation() { ProvisioningTester tester = new ProvisioningTester.Builder().zone(new Zone(Environment.prod, RegionName.from("us-east"))).flavorsConfig(flavorsConfig()).build(); - tester.makeReadyNodes(2, new Flavor(new NodeResources(5, 20, 140)), NodeType.host, 10, true); + tester.makeReadyNodes(2, new Flavor(new NodeResources(5, 20, 140, 3)), NodeType.host, 10, true); deployZoneApp(tester); ApplicationId application = tester.makeApplicationId(); @@ -369,7 +369,7 @@ public class DynamicDockerAllocationTest { List<HostSpec> hosts1 = tester.prepare(application, cluster, Capacity.fromNodeCount(2, Optional.of("d-2-8-50"), false, true), 1); tester.activate(application, hosts1); - NodeResources resources = new NodeResources(1.5, 8, 50); + NodeResources resources = new NodeResources(1.5, 8, 50, 0.3); List<HostSpec> hosts2 = tester.prepare(application, cluster, Capacity.fromCount(2, resources), 1); tester.activate(application, hosts2); @@ -408,16 +408,16 @@ public class DynamicDockerAllocationTest { private FlavorsConfig flavorsConfig() { FlavorConfigBuilder b = new FlavorConfigBuilder(); - b.addFlavor("host-large", 6., 6., 6, Flavor.Type.BARE_METAL); - b.addFlavor("host-small", 3., 3., 3, Flavor.Type.BARE_METAL); - b.addFlavor("host-medium", 4., 4., 4, Flavor.Type.BARE_METAL); - b.addFlavor("d-1", 1, 1., 1, Flavor.Type.DOCKER_CONTAINER); - b.addFlavor("d-2", 2, 2., 2, Flavor.Type.DOCKER_CONTAINER); - b.addFlavor("d-3", 3, 3., 3, Flavor.Type.DOCKER_CONTAINER); - b.addFlavor("d-3-disk", 3, 3., 5, Flavor.Type.DOCKER_CONTAINER); - b.addFlavor("d-3-mem", 3, 5., 3, Flavor.Type.DOCKER_CONTAINER); - b.addFlavor("d-3-cpu", 5, 3., 3, Flavor.Type.DOCKER_CONTAINER); - b.addFlavor("d-2-8-50", 2, 8, 50, Flavor.Type.DOCKER_CONTAINER); + b.addFlavor("host-large", 6., 6., 6, 6, Flavor.Type.BARE_METAL); + b.addFlavor("host-small", 3., 3., 3, 3, Flavor.Type.BARE_METAL); + b.addFlavor("host-medium", 4., 4., 4, 4, Flavor.Type.BARE_METAL); + b.addFlavor("d-1", 1, 1., 1, 1, Flavor.Type.DOCKER_CONTAINER); + b.addFlavor("d-2", 2, 2., 2, 2, Flavor.Type.DOCKER_CONTAINER); + b.addFlavor("d-3", 3, 3., 3, 3, Flavor.Type.DOCKER_CONTAINER); + b.addFlavor("d-3-disk", 3, 3., 5, 3, Flavor.Type.DOCKER_CONTAINER); + b.addFlavor("d-3-mem", 3, 5., 3, 3, Flavor.Type.DOCKER_CONTAINER); + b.addFlavor("d-3-cpu", 5, 3., 3, 3, Flavor.Type.DOCKER_CONTAINER); + b.addFlavor("d-2-8-50", 2, 8, 50, 1, Flavor.Type.DOCKER_CONTAINER); return b.build(); } 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 a497afc9fc9..ee5568b9b76 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 @@ -45,7 +45,7 @@ public class DynamicDockerProvisionTest { assertEquals(0, tester.nodeRepository().list().size()); ApplicationId application1 = tester.makeApplicationId(); - NodeResources flavor = new NodeResources(1, 1, 1); + NodeResources flavor = new NodeResources(1, 1, 1, 1); mockHostProvisioner(hostProvisioner, tester.nodeRepository().getAvailableFlavors().getFlavorOrThrow("small")); List<HostSpec> hostSpec = tester.prepare(application1, clusterSpec("myContent.t1.a1"), 4, 1, flavor); @@ -65,7 +65,7 @@ public class DynamicDockerProvisionTest { deployZoneApp(tester); ApplicationId application = tester.makeApplicationId(); - NodeResources flavor = new NodeResources(1, 1, 1); + NodeResources flavor = new NodeResources(1, 1, 1, 1); mockHostProvisioner(hostProvisioner, tester.nodeRepository().getAvailableFlavors().getFlavorOrThrow("small")); tester.prepare(application, clusterSpec("myContent.t2.a2"), 2, 1, flavor); @@ -75,7 +75,7 @@ public class DynamicDockerProvisionTest { @Test public void allocates_to_hosts_already_hosting_nodes_by_this_tenant() { ApplicationId application = tester.makeApplicationId(); - NodeResources flavor = new NodeResources(1, 1, 1); + NodeResources flavor = new NodeResources(1, 1, 1, 1); List<Integer> expectedProvisionIndexes = List.of(100, 101); mockHostProvisioner(hostProvisioner, tester.nodeRepository().getAvailableFlavors().getFlavorOrThrow("large")); diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/LoadBalancerProvisionerTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/LoadBalancerProvisionerTest.java index 77273f98f76..d058832ba17 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/LoadBalancerProvisionerTest.java +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/LoadBalancerProvisionerTest.java @@ -140,7 +140,7 @@ public class LoadBalancerProvisionerTest { @Test public void provision_load_balancers_with_dynamic_node_provisioning() { - var nodes = prepare(app1, Capacity.fromCount(2, new NodeResources(1, 1, 1), false, true), + var nodes = prepare(app1, Capacity.fromCount(2, new NodeResources(1, 1, 1, 0.3), false, true), true, clusterRequest(ClusterSpec.Type.container, ClusterSpec.Id.from("qrs"))); Supplier<LoadBalancer> lb = () -> tester.nodeRepository().loadBalancers().owner(app1).asList().get(0); @@ -158,7 +158,7 @@ public class LoadBalancerProvisionerTest { assertSame("Load balancer is deactivated", LoadBalancer.State.inactive, lb.get().state()); // Application is redeployed - nodes = prepare(app1, Capacity.fromCount(2, new NodeResources(1, 1, 1), false, true), + nodes = prepare(app1, Capacity.fromCount(2, new NodeResources(1, 1, 1, 0.3), false, true), true, clusterRequest(ClusterSpec.Type.container, ClusterSpec.Id.from("qrs"))); assertTrue("Load balancer is reconfigured with empty reals", tester.loadBalancerService().instances().get(lb.get().id()).reals().isEmpty()); @@ -190,7 +190,7 @@ public class LoadBalancerProvisionerTest { } private Set<HostSpec> prepare(ApplicationId application, ClusterSpec... specs) { - return prepare(application, Capacity.fromCount(2, new NodeResources(1, 1, 1), false, true), false, specs); + return prepare(application, Capacity.fromCount(2, new NodeResources(1, 1, 1, 0.3), false, true), false, specs); } private Set<HostSpec> prepare(ApplicationId application, Capacity capacity, boolean dynamicDockerNodes, ClusterSpec... specs) { diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/MultigroupProvisioningTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/MultigroupProvisioningTest.java index 0523a1f7f72..a10f0bc5f23 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/MultigroupProvisioningTest.java +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/MultigroupProvisioningTest.java @@ -140,7 +140,7 @@ public class MultigroupProvisioningTest { new RetiredExpirer(tester.nodeRepository(), tester.orchestrator(), deployer, tester.clock(), Duration.ofDays(30), Duration.ofHours(12)).run(); - assertEquals(8, tester.getNodes(application1, Node.State.inactive).resources(new NodeResources(1, 1, 1)).size()); + assertEquals(8, tester.getNodes(application1, Node.State.inactive).resources(new NodeResources(1, 1, 1, 0.3)).size()); deploy(application1, 8, 8, "d-3-3-3", tester); } diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/NodePrioritizerTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/NodePrioritizerTest.java index b65c4d8b4f6..43a045705c8 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/NodePrioritizerTest.java +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/NodePrioritizerTest.java @@ -32,20 +32,20 @@ public class NodePrioritizerTest { public void relocated_nodes_are_preferred() { List<Node> nodes = new ArrayList<>(); Node parent = createParent("parent"); - Node b = createNode(parent, "b", new NodeResources(2, 2, 2)); + Node b = createNode(parent, "b", new NodeResources(2, 2, 2, 2)); nodes.add(b); // Only one node - should be obvious what to prefer Assert.assertTrue(NodePrioritizer.isPreferredNodeToBeRelocated(nodes, b, parent)); // Two equal nodes - choose lexically - Node a = createNode(parent, "a", new NodeResources(2, 2, 2)); + Node a = createNode(parent, "a", new NodeResources(2, 2, 2, 2)); nodes.add(a); Assert.assertTrue(NodePrioritizer.isPreferredNodeToBeRelocated(nodes, a, parent)); Assert.assertFalse(NodePrioritizer.isPreferredNodeToBeRelocated(nodes, b, parent)); // Smallest node should be preferred - Node c = createNode(parent, "c", new NodeResources(1, 1, 1)); + Node c = createNode(parent, "c", new NodeResources(1, 1, 1, 1)); nodes.add(c); Assert.assertTrue(NodePrioritizer.isPreferredNodeToBeRelocated(nodes, c, parent)); @@ -54,7 +54,7 @@ public class NodePrioritizerTest { c = c.allocate(ApplicationId.defaultId(), ClusterMembership.from(spec, 0), Instant.now()); nodes.remove(c); nodes.add(c); - Node d = createNode(parent, "d", new NodeResources(1, 1, 1)); + Node d = createNode(parent, "d", new NodeResources(1, 1, 1, 1)); nodes.add(d); Assert.assertTrue(NodePrioritizer.isPreferredNodeToBeRelocated(nodes, d, parent)); Assert.assertFalse(NodePrioritizer.isPreferredNodeToBeRelocated(nodes, c, parent)); @@ -80,7 +80,7 @@ public class NodePrioritizerTest { private static FlavorsConfig flavorsConfig() { FlavorConfigBuilder b = new FlavorConfigBuilder(); - b.addFlavor("host-large", 6., 6., 6, Flavor.Type.BARE_METAL); + b.addFlavor("host-large", 6., 6., 6, 6, Flavor.Type.BARE_METAL); return b.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 2f97cd13234..89edb9cf579 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 @@ -3,32 +3,22 @@ package com.yahoo.vespa.hosted.provision.provisioning; import com.yahoo.component.Version; import com.yahoo.config.provision.ApplicationId; -import com.yahoo.config.provision.ApplicationName; import com.yahoo.config.provision.Capacity; import com.yahoo.config.provision.ClusterMembership; import com.yahoo.config.provision.ClusterSpec; import com.yahoo.config.provision.Environment; -import com.yahoo.config.provision.Flavor; import com.yahoo.config.provision.HostFilter; import com.yahoo.config.provision.HostSpec; -import com.yahoo.config.provision.InstanceName; import com.yahoo.config.provision.NodeResources; import com.yahoo.config.provision.NodeType; import com.yahoo.config.provision.OutOfCapacityException; import com.yahoo.config.provision.RegionName; -import com.yahoo.config.provision.TenantName; import com.yahoo.config.provision.Zone; -import com.yahoo.config.provisioning.FlavorsConfig; import com.yahoo.transaction.NestedTransaction; -import com.yahoo.vespa.curator.Curator; -import com.yahoo.vespa.curator.mock.MockCurator; import com.yahoo.vespa.hosted.provision.Node; -import com.yahoo.vespa.hosted.provision.NodeList; import com.yahoo.vespa.hosted.provision.maintenance.ReservationExpirer; import com.yahoo.vespa.hosted.provision.node.Agent; import com.yahoo.vespa.hosted.provision.node.History; -import com.yahoo.vespa.hosted.provision.persistence.NameResolver; -import com.yahoo.vespa.hosted.provision.testutils.MockNameResolver; import org.junit.Ignore; import org.junit.Test; @@ -39,7 +29,6 @@ import java.util.Iterator; import java.util.List; import java.util.Optional; import java.util.Set; -import java.util.UUID; import java.util.function.Function; import java.util.function.Predicate; import java.util.stream.Collectors; @@ -68,34 +57,34 @@ public class ProvisioningTest { tester.makeReadyNodes(21, "d-1-1-1"); // deploy - SystemState state1 = prepare(application1, 2, 2, 3, 3, new NodeResources(1, 1, 1), tester); + SystemState state1 = prepare(application1, 2, 2, 3, 3, new NodeResources(1, 1, 1, 0.3), tester); tester.activate(application1, state1.allHosts); // redeploy - SystemState state2 = prepare(application1, 2, 2, 3, 3, new NodeResources(1, 1, 1), tester); + SystemState state2 = prepare(application1, 2, 2, 3, 3, new NodeResources(1, 1, 1, 0.3), tester); state2.assertEquals(state1); tester.activate(application1, state2.allHosts); // deploy another application - SystemState state1App2 = prepare(application2, 2, 2, 3, 3, new NodeResources(1, 1, 1), tester); + SystemState state1App2 = prepare(application2, 2, 2, 3, 3, new NodeResources(1, 1, 1, 0.3), tester); assertFalse("Hosts to different apps are disjunct", state1App2.allHosts.removeAll(state1.allHosts)); tester.activate(application2, state1App2.allHosts); // prepare twice - SystemState state3 = prepare(application1, 2, 2, 3, 3, new NodeResources(1, 1, 1), tester); - SystemState state4 = prepare(application1, 2, 2, 3, 3, new NodeResources(1, 1, 1), tester); + SystemState state3 = prepare(application1, 2, 2, 3, 3, new NodeResources(1, 1, 1, 0.3), tester); + SystemState state4 = prepare(application1, 2, 2, 3, 3, new NodeResources(1, 1, 1, 0.3), tester); state3.assertEquals(state2); state4.assertEquals(state3); tester.activate(application1, state4.allHosts); // remove nodes before deploying - SystemState state5 = prepare(application1, 2, 2, 3, 3, new NodeResources(1, 1, 1), tester); + SystemState state5 = prepare(application1, 2, 2, 3, 3, new NodeResources(1, 1, 1, 0.3), tester); HostSpec removed = tester.removeOne(state5.allHosts); tester.activate(application1, state5.allHosts); assertEquals(removed.hostname(), tester.nodeRepository().getNodes(application1, Node.State.inactive).get(0).hostname()); // remove some of the clusters - SystemState state6 = prepare(application1, 0, 2, 0, 3, new NodeResources(1, 1, 1), tester); + SystemState state6 = prepare(application1, 0, 2, 0, 3, new NodeResources(1, 1, 1, 0.3), tester); tester.activate(application1, state6.allHosts); assertEquals(5, tester.getNodes(application1, Node.State.active).size()); assertEquals(5, tester.getNodes(application1, Node.State.inactive).size()); @@ -114,14 +103,14 @@ public class ProvisioningTest { HostSpec failed = tester.removeOne(state1App2.allHosts); tester.fail(failed); assertEquals(9, tester.getNodes(application2, Node.State.active).size()); - SystemState state2App2 = prepare(application2, 2, 2, 3, 3, new NodeResources(1, 1, 1), tester); + SystemState state2App2 = prepare(application2, 2, 2, 3, 3, new NodeResources(1, 1, 1, 0.3), tester); assertFalse("Hosts to different apps are disjunct", state2App2.allHosts.removeAll(state1.allHosts)); assertEquals("A new node was reserved to replace the failed one", 10, state2App2.allHosts.size()); assertFalse("The new host is not the failed one", state2App2.allHosts.contains(failed)); tester.activate(application2, state2App2.allHosts); // deploy first app again - SystemState state7 = prepare(application1, 2, 2, 3, 3, new NodeResources(1, 1, 1), tester); + SystemState state7 = prepare(application1, 2, 2, 3, 3, new NodeResources(1, 1, 1, 0.3), tester); state7.assertEquals(state1); tester.activate(application1, state7.allHosts); assertEquals(0, tester.getNodes(application1, Node.State.inactive).size()); @@ -143,12 +132,12 @@ public class ProvisioningTest { public void nodeVersionIsReturnedIfSet() { ProvisioningTester tester = new ProvisioningTester.Builder().zone(new Zone(Environment.dev, RegionName.from("us-east"))).build(); - tester.makeReadyNodes(4, new NodeResources(1, 1, 1), NodeType.host, 1); + tester.makeReadyNodes(4, new NodeResources(1, 1, 1, 0.3), NodeType.host, 1); tester.prepareAndActivateInfraApplication(tester.makeApplicationId(), NodeType.host); // deploy ApplicationId application1 = tester.makeApplicationId(); - SystemState state1 = prepare(application1, 1, 1, 1, 1, new NodeResources(1, 1, 1), tester); + SystemState state1 = prepare(application1, 1, 1, 1, 1, new NodeResources(1, 1, 1, 0.3), tester); tester.activate(application1, state1.allHosts); HostSpec host1 = state1.container0.iterator().next(); @@ -157,7 +146,7 @@ public class ProvisioningTest { tester.nodeRepository().write(node1.with(node1.status().withVespaVersion(Version.fromString("1.2.3"))), () -> {}); // redeploy - SystemState state2 = prepare(application1, 1, 1, 1, 1, new NodeResources(1, 1, 1), tester); + SystemState state2 = prepare(application1, 1, 1, 1, 1, new NodeResources(1, 1, 1, 0.3), tester); tester.activate(application1, state2.allHosts); host1 = state2.container0.iterator().next(); @@ -173,17 +162,17 @@ public class ProvisioningTest { tester.makeReadyNodes(24, "d-1-1-1"); // deploy - SystemState state1 = prepare(application1, 2, 2, 3, 3, new NodeResources(1, 1, 1), tester); + SystemState state1 = prepare(application1, 2, 2, 3, 3, new NodeResources(1, 1, 1, 0.3), tester); tester.activate(application1, state1.allHosts); // redeploy with increased sizes - SystemState state2 = prepare(application1, 3, 4, 4, 5, new NodeResources(1, 1, 1), tester); + SystemState state2 = prepare(application1, 3, 4, 4, 5, new NodeResources(1, 1, 1, 0.3), tester); state2.assertExtends(state1); assertEquals("New nodes are reserved", 6, tester.getNodes(application1, Node.State.reserved).size()); tester.activate(application1, state2.allHosts); // decrease again - SystemState state3 = prepare(application1, 2, 2, 3, 3, new NodeResources(1, 1, 1), tester); + SystemState state3 = prepare(application1, 2, 2, 3, 3, new NodeResources(1, 1, 1, 0.3), tester); tester.activate(application1, state3.allHosts); assertEquals("Superfluous container nodes are deactivated", 3-2 + 4-2, tester.getNodes(application1, Node.State.inactive).size()); @@ -191,7 +180,7 @@ public class ProvisioningTest { 4-3 + 5-3, tester.getNodes(application1, Node.State.active).retired().size()); // increase even more, and remove one node before deploying - SystemState state4 = prepare(application1, 4, 5, 5, 6, new NodeResources(1, 1, 1), tester); + SystemState state4 = prepare(application1, 4, 5, 5, 6, new NodeResources(1, 1, 1, 0.3), tester); assertEquals("Inactive nodes are reused", 0, tester.getNodes(application1, Node.State.inactive).size()); assertEquals("Earlier retired nodes are not unretired before activate", 4-3 + 5-3, tester.getNodes(application1, Node.State.active).retired().size()); @@ -207,7 +196,7 @@ public class ProvisioningTest { 0, tester.getNodes(application1, Node.State.active).retired().size()); // decrease again - SystemState state5 = prepare(application1, 2, 2, 3, 3, new NodeResources(1, 1, 1), tester); + SystemState state5 = prepare(application1, 2, 2, 3, 3, new NodeResources(1, 1, 1, 0.3), tester); tester.activate(application1, state5.allHosts); assertEquals("Superfluous container nodes are also deactivated", 4-2 + 5-2 + 1, tester.getNodes(application1, Node.State.inactive).size()); // @@ -215,13 +204,13 @@ public class ProvisioningTest { 5-3 + 6-3 - 1, tester.getNodes(application1, Node.State.active).retired().size()); // increase content slightly - SystemState state6 = prepare(application1, 2, 2, 4, 3, new NodeResources(1, 1, 1), tester); + SystemState state6 = prepare(application1, 2, 2, 4, 3, new NodeResources(1, 1, 1, 0.3), tester); tester.activate(application1, state6.allHosts); assertEquals("One content node is unretired", 5-4 + 6-3 - 1, tester.getNodes(application1, Node.State.active).retired().size()); // Then reserve more - SystemState state7 = prepare(application1, 8, 2, 2, 2, new NodeResources(1, 1, 1), tester); + SystemState state7 = prepare(application1, 8, 2, 2, 2, new NodeResources(1, 1, 1, 0.3), tester); // delete app NestedTransaction removeTransaction = new NestedTransaction(); @@ -239,8 +228,8 @@ public class ProvisioningTest { tester.makeReadyNodes(12, "d-1-1-1"); - NodeResources small = new NodeResources(1, 1, 1); - NodeResources large = new NodeResources(2, 2, 2); + NodeResources small = new NodeResources(1, 1, 1, 0.3); + NodeResources large = new NodeResources(2, 2, 2, 0.3); // deploy SystemState state1 = prepare(application1, 2, 2, 4, 4, small, tester); @@ -275,11 +264,11 @@ public class ProvisioningTest { tester.makeReadyNodes(14, "d-2-2-2", NodeType.host); // deploy - SystemState state1 = prepare(application1, 2, 2, 4, 4, new NodeResources(2, 2, 2), tester); + SystemState state1 = prepare(application1, 2, 2, 4, 4, new NodeResources(2, 2, 2, 2), tester); tester.activate(application1, state1.allHosts); // redeploy with smaller docker flavor - causes in-place flavor change - SystemState state2 = prepare(application1, 2, 2, 4, 4, new NodeResources(1, 1, 1), tester); + SystemState state2 = prepare(application1, 2, 2, 4, 4, new NodeResources(1, 1, 1, 0.3), tester); tester.activate(application1, state2.allHosts); assertEquals(12, tester.getNodes(application1, Node.State.active).size()); @@ -299,13 +288,13 @@ public class ProvisioningTest { // deploy SystemState state1 = prepare(application1, 2, 0, 3, 0, - new NodeResources(1, 1, 1), tester); + new NodeResources(1, 1, 1, 0.3), tester); tester.activate(application1, state1.allHosts); // redeploy a too large application try { SystemState state2 = prepare(application1, 3, 0, 3, 0, - new NodeResources(1, 1, 1), tester); + new NodeResources(1, 1, 1, 0.3), tester); fail("Expected out of capacity exception"); } catch (OutOfCapacityException expected) { @@ -313,7 +302,7 @@ public class ProvisioningTest { // deploy first state again SystemState state3 = prepare(application1, 2, 0, 3, 0, - new NodeResources(1, 1, 1), tester); + new NodeResources(1, 1, 1, 0.3), tester); tester.activate(application1, state3.allHosts); } @@ -321,12 +310,12 @@ 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, new NodeResources(1, 1, 1), NodeType.host, 1); + tester.makeReadyNodes(4, new NodeResources(1, 1, 1, 0.3), NodeType.host, 1); tester.prepareAndActivateInfraApplication(tester.makeApplicationId(), NodeType.host); ApplicationId application = tester.makeApplicationId(); SystemState state = prepare(application, 2, 2, 3, 3, - new NodeResources(1, 1, 1), tester); + new NodeResources(1, 1, 1, 0.3), tester); assertEquals(4, state.allHosts.size()); tester.activate(application, state.allHosts); } @@ -335,11 +324,11 @@ 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, new NodeResources(1, 1, 1), NodeType.host, 1); + tester.makeReadyNodes(4, new NodeResources(1, 1, 1, 0.3), NodeType.host, 1); tester.prepareAndActivateInfraApplication(tester.makeApplicationId(), NodeType.host); ApplicationId application = tester.makeApplicationId(); - SystemState state = prepare(application, 2, 2, 3, 3, new NodeResources(1, 1, 1), Version.fromString("6.91"), tester); + SystemState state = prepare(application, 2, 2, 3, 3, new NodeResources(1, 1, 1, 0.3), Version.fromString("6.91"), tester); assertEquals(4, state.allHosts.size()); tester.activate(application, state.allHosts); } @@ -351,7 +340,7 @@ public class ProvisioningTest { ApplicationId application = tester.makeApplicationId(); tester.makeReadyNodes(4, "d-1-1-1"); SystemState state = prepare(application, 2, 2, 3, 3, - new NodeResources(1, 1, 1), tester); + new NodeResources(1, 1, 1, 0.3), tester); assertEquals(4, state.allHosts.size()); tester.activate(application, state.allHosts); } @@ -363,7 +352,7 @@ public class ProvisioningTest { ApplicationId application = tester.makeApplicationId(); tester.makeReadyNodes(10, "d-1-1-1"); prepare(application, 1, 2, 3, 3, - new NodeResources(1, 1, 1), tester); + new NodeResources(1, 1, 1, 0.3), tester); } /** Dev always uses the zone default flavor */ @@ -371,12 +360,12 @@ 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, 2, 2), NodeType.host, 1); + tester.makeReadyNodes(4, new NodeResources(2, 2, 2, 2), NodeType.host, 1); tester.prepareAndActivateInfraApplication(tester.makeApplicationId(), NodeType.host); ApplicationId application = tester.makeApplicationId(); SystemState state = prepare(application, 2, 2, 3, 3, - new NodeResources(2, 2, 2), tester); + new NodeResources(2, 2, 2, 2), tester); assertEquals(4, state.allHosts.size()); tester.activate(application, state.allHosts); } @@ -389,7 +378,7 @@ public class ProvisioningTest { ApplicationId application = tester.makeApplicationId(); tester.makeReadyNodes(4, "d-2-2-2"); SystemState state = prepare(application, 2, 2, 3, 3, - new NodeResources(2, 2, 2), tester); + new NodeResources(2, 2, 2, 0.3), tester); assertEquals(4, state.allHosts.size()); tester.activate(application, state.allHosts); } @@ -401,7 +390,7 @@ public class ProvisioningTest { ApplicationId application = tester.makeApplicationId(); tester.makeReadyNodes(14, "d-1-1-1"); SystemState state = prepare(application, 1, 1, 1, 64, - new NodeResources(1, 1, 1), tester); // becomes 1, 1, 1, 6 + new NodeResources(1, 1, 1, 0.3), tester); // becomes 1, 1, 1, 1, 6 assertEquals(9, state.allHosts.size()); tester.activate(application, state.allHosts); } @@ -413,7 +402,7 @@ public class ProvisioningTest { tester.makeReadyNodes(10, "d-1-1-1"); ApplicationId application = tester.makeApplicationId(); SystemState state = prepare(application, 2, 2, 3, 3, - new NodeResources(1, 1, 1), tester); + new NodeResources(1, 1, 1, 0.3), tester); // Simulate expiry NestedTransaction deactivateTransaction = new NestedTransaction(); @@ -437,7 +426,7 @@ public class ProvisioningTest { ApplicationId application = tester.makeApplicationId(); try { prepare(application, 2, 2, 3, 3, - new NodeResources(1, 1, 1), tester); + new NodeResources(1, 1, 1, 0.3), tester); fail("Expected exception"); } catch (OutOfCapacityException e) { @@ -469,7 +458,7 @@ public class ProvisioningTest { try { prepare(application, 2, 0, 2, 0, - new NodeResources(1, 1, 1), tester); + new NodeResources(1, 1, 1, 0.3), tester); fail("Expected exception"); } catch (OutOfCapacityException e) { assertTrue(e.getMessage().startsWith("Could not satisfy request")); @@ -485,11 +474,11 @@ public class ProvisioningTest { tester.makeReadyNodes(14, "d-1-1-1"); // deploy - SystemState state1 = prepare(application1, 3, 3, 4, 4, new NodeResources(1, 1, 1), tester); + SystemState state1 = prepare(application1, 3, 3, 4, 4, new NodeResources(1, 1, 1, 0.3), tester); tester.activate(application1, state1.allHosts); // decrease cluster sizes - SystemState state2 = prepare(application1, 2, 2, 2, 2, new NodeResources(1, 1, 1), tester); + SystemState state2 = prepare(application1, 2, 2, 2, 2, new NodeResources(1, 1, 1, 0.3), tester); tester.activate(application1, state2.allHosts); // content0 @@ -515,7 +504,7 @@ public class ProvisioningTest { // Deploy application { SystemState state = prepare(application, 2, 0, 2, 0, - new NodeResources(1, 1, 1), tester); + new NodeResources(1, 1, 1, 0.3), tester); tester.activate(application, state.allHosts); assertEquals(4, tester.getNodes(application, Node.State.active).size()); } @@ -525,7 +514,7 @@ public class ProvisioningTest { List<Node> nodesToRetire = tester.getNodes(application, Node.State.active).asList().subList(0, 2); nodesToRetire.forEach(node -> tester.patchNode(node.with(node.status().withWantToRetire(true)))); - SystemState state = prepare(application, 2, 0, 2, 0, new NodeResources(1, 1, 1), tester); + SystemState state = prepare(application, 2, 0, 2, 0, new NodeResources(1, 1, 1, 0.3), tester); tester.activate(application, state.allHosts); List<Node> retiredNodes = tester.getNodes(application).retired().asList(); @@ -544,7 +533,7 @@ public class ProvisioningTest { // Deploy fails with out of capacity try { prepare(application, 2, 0, 2, 0, - new NodeResources(1, 1, 1), tester); + new NodeResources(1, 1, 1, 0.3), tester); fail("Expected exception"); } catch (OutOfCapacityException ignored) {} assertEquals("Reserved a subset of required nodes", 2, @@ -556,7 +545,7 @@ public class ProvisioningTest { // Deploy is retried after a few minutes tester.clock().advance(Duration.ofMinutes(2)); SystemState state = prepare(application, 2, 0, 2, 0, - new NodeResources(1, 1, 1), tester); + new NodeResources(1, 1, 1, 0.3), tester); List<Node> reserved = tester.getNodes(application, Node.State.reserved).asList(); assertEquals("Reserved required nodes", 4, reserved.size()); assertTrue("Time of event is updated for all nodes", @@ -582,7 +571,7 @@ public class ProvisioningTest { ProvisioningTester tester = new ProvisioningTester.Builder().zone(new Zone(Environment.prod, RegionName.from("us-east"))).build(); ApplicationId application = tester.makeApplicationId(); try { - prepare(application, 1, 0, 1, 0, true, new NodeResources(1, 1, 1), Version.fromString("6.42"), tester); + prepare(application, 1, 0, 1, 0, true, new NodeResources(1, 1, 1, 0.3), Version.fromString("6.42"), tester); fail("Expected exception"); } catch (IllegalArgumentException ignored) {} } 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 942492bb790..6bc7c5774ab 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 @@ -98,12 +98,12 @@ public class ProvisioningTester { public static FlavorsConfig createConfig() { FlavorConfigBuilder b = new FlavorConfigBuilder(); - b.addFlavor("default", 2., 4., 100, Flavor.Type.BARE_METAL).cost(3); - b.addFlavor("small", 1., 2., 50, Flavor.Type.BARE_METAL).cost(2); - b.addFlavor("dockerSmall", 1., 1., 10, Flavor.Type.DOCKER_CONTAINER).cost(1); - b.addFlavor("dockerLarge", 2., 1., 20, Flavor.Type.DOCKER_CONTAINER).cost(3); - b.addFlavor("v-4-8-100", 4., 8., 100, Flavor.Type.VIRTUAL_MACHINE).cost(4); - b.addFlavor("large", 4., 8., 100, Flavor.Type.BARE_METAL).cost(10); + b.addFlavor("default", 2., 4., 100, 10, Flavor.Type.BARE_METAL).cost(3); + b.addFlavor("small", 1., 2., 50, 5, Flavor.Type.BARE_METAL).cost(2); + b.addFlavor("dockerSmall", 1., 1., 10, 1, Flavor.Type.DOCKER_CONTAINER).cost(1); + b.addFlavor("dockerLarge", 2., 1., 20, 1, Flavor.Type.DOCKER_CONTAINER).cost(3); + b.addFlavor("v-4-8-100", 4., 8., 100, 10, Flavor.Type.VIRTUAL_MACHINE).cost(4); + b.addFlavor("large", 4., 8., 100, 10, Flavor.Type.BARE_METAL).cost(10); return b.build(); } diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/ResourceCapacityTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/ResourceCapacityTest.java index c2f2e6efda0..f3fbe1555eb 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/ResourceCapacityTest.java +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/ResourceCapacityTest.java @@ -18,14 +18,14 @@ public class ResourceCapacityTest { @Test public void basic_capacity_and_compare_operations() { FlavorConfigBuilder b = new FlavorConfigBuilder(); - b.addFlavor("host-large", 6., 6., 6, Flavor.Type.BARE_METAL); - b.addFlavor("host-small", 3., 3., 3, Flavor.Type.BARE_METAL); - b.addFlavor("d-1", 1, 1., 1, Flavor.Type.DOCKER_CONTAINER); - b.addFlavor("d-2", 2, 2., 2, Flavor.Type.DOCKER_CONTAINER); - b.addFlavor("d-3", 3, 3., 3, Flavor.Type.DOCKER_CONTAINER); - b.addFlavor("d-3-disk", 3, 3., 5, Flavor.Type.DOCKER_CONTAINER); - b.addFlavor("d-3-mem", 3, 5., 3, Flavor.Type.DOCKER_CONTAINER); - b.addFlavor("d-3-cpu", 5, 3., 3, Flavor.Type.DOCKER_CONTAINER); + b.addFlavor("host-large", 6., 6., 6, 6, Flavor.Type.BARE_METAL); + b.addFlavor("host-small", 3., 3., 3, 3, Flavor.Type.BARE_METAL); + b.addFlavor("d-1", 1, 1., 1, 1, Flavor.Type.DOCKER_CONTAINER); + b.addFlavor("d-2", 2, 2., 2, 2, Flavor.Type.DOCKER_CONTAINER); + b.addFlavor("d-3", 3, 3., 3, 3, Flavor.Type.DOCKER_CONTAINER); + b.addFlavor("d-3-disk", 3, 3., 5, 3, Flavor.Type.DOCKER_CONTAINER); + b.addFlavor("d-3-mem", 3, 5., 3, 3, Flavor.Type.DOCKER_CONTAINER); + b.addFlavor("d-3-cpu", 5, 3., 3, 3, Flavor.Type.DOCKER_CONTAINER); FlavorsConfig flavors = b.build(); Flavor hostLargeFlavor = new Flavor(flavors.flavor(0)); @@ -73,10 +73,10 @@ public class ResourceCapacityTest { assertEquals(-1, compare(d3CPUFlavor.resources(), d3MemFlavor.resources())); assertEquals(1, compare(d3MemFlavor.resources(), d3DiskFlavor.resources())); - assertEquals(-1, compare(new NodeResources(1, 2, 3, NodeResources.DiskSpeed.slow), - new NodeResources(1, 2, 3, NodeResources.DiskSpeed.fast))); - assertEquals(1, compare(new NodeResources(1, 2, 3, NodeResources.DiskSpeed.fast), - new NodeResources(1, 2, 3, NodeResources.DiskSpeed.slow))); + assertEquals(-1, compare(new NodeResources(1, 2, 3, 1, NodeResources.DiskSpeed.slow), + new NodeResources(1, 2, 3, 1, NodeResources.DiskSpeed.fast))); + assertEquals(1, compare(new NodeResources(1, 2, 3, 1, NodeResources.DiskSpeed.fast), + new NodeResources(1, 2, 3, 1, NodeResources.DiskSpeed.slow))); } private int compare(NodeResources a, NodeResources b) { diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/VirtualNodeProvisioningTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/VirtualNodeProvisioningTest.java index 5badf9246ab..1712b9448b1 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/VirtualNodeProvisioningTest.java +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/VirtualNodeProvisioningTest.java @@ -35,7 +35,7 @@ import static org.junit.Assert.assertNotNull; // to remove these tests public class VirtualNodeProvisioningTest { - private static final NodeResources flavor = new NodeResources(4, 8, 100); + private static final NodeResources flavor = new NodeResources(4, 8, 100, 1); private static final ClusterSpec contentClusterSpec = ClusterSpec.request(ClusterSpec.Type.content, ClusterSpec.Id.from("myContent"), Version.fromString("6.42"), false); private static final ClusterSpec containerClusterSpec = ClusterSpec.request(ClusterSpec.Type.container, ClusterSpec.Id.from("myContainer"), Version.fromString("6.42"), false); @@ -82,7 +82,7 @@ public class VirtualNodeProvisioningTest { // Allowed to use same parent host for several nodes in same cluster in dev { - NodeResources flavor = new NodeResources(1, 1, 1); + NodeResources flavor = new NodeResources(1, 1, 1, 1); tester = new ProvisioningTester.Builder().zone(new Zone(Environment.dev, RegionName.from("us-east"))).build(); tester.makeReadyNodes(4, flavor, NodeType.host, 1); tester.prepareAndActivateInfraApplication(tester.makeApplicationId(), NodeType.host); diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/capacity-zone.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/capacity-zone.json index 9895948e69d..42948678c55 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/capacity-zone.json +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/capacity-zone.json @@ -3,7 +3,7 @@ "couldLoseHosts": 4, "failedTenantParent": "dockerhost1.yahoo.com", "failedTenant": "host4.yahoo.com", - "failedTenantResources": "[vcpu: 1.0, memory: 1.0 Gb, disk 100.0 Gb]", + "failedTenantResources": "[vcpu: 1.0, memory: 1.0 Gb, disk 100.0 Gb, bandwidth: 1.0 Gbps]", "failedTenantAllocation": "allocated to tenant3.application3.instance3 as 'content/id3/0/0'", "hostCandidateRejectionReasons": { "singularReasonFailures": { diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/cfg1.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/cfg1.json index fd553a97ea4..92f77c997fa 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/cfg1.json +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/cfg1.json @@ -11,7 +11,7 @@ "minMainMemoryAvailableGb": 16.0, "minCpuCores": 2.0, "fastDisk": true, - "bandwidth":0.0, + "bandwidth": 10000.0, "environment": "BARE_METAL", "rebootGeneration": 1, "currentRebootGeneration": 0, diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/cfg2.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/cfg2.json index aa818a9cf42..d2c4e133ab7 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/cfg2.json +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/cfg2.json @@ -11,7 +11,7 @@ "minMainMemoryAvailableGb": 16.0, "minCpuCores": 2.0, "fastDisk": true, - "bandwidth":0.0, + "bandwidth": 10000.0, "environment": "BARE_METAL", "rebootGeneration": 1, "currentRebootGeneration": 0, diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/controller1.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/controller1.json index bfa34bc0517..19051e27152 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/controller1.json +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/controller1.json @@ -11,7 +11,7 @@ "minMainMemoryAvailableGb": 16.0, "minCpuCores": 2.0, "fastDisk": true, - "bandwidth":0.0, + "bandwidth": 10000.0, "environment": "BARE_METAL", "rebootGeneration": 0, "currentRebootGeneration": 0, diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/docker-container1.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/docker-container1.json index 7540f7065dc..08f8f4469ee 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/docker-container1.json +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/docker-container1.json @@ -6,13 +6,13 @@ "hostname": "test-node-pool-101-2", "parentHostname": "dockerhost2.yahoo.com", "openStackId": "fake-test-node-pool-101-2", - "flavor": "[vcpu: 1.0, memory: 1.0 Gb, disk 100.0 Gb]", - "canonicalFlavor": "[vcpu: 1.0, memory: 1.0 Gb, disk 100.0 Gb]", + "flavor": "[vcpu: 1.0, memory: 1.0 Gb, disk 100.0 Gb, bandwidth: 1.0 Gbps]", + "canonicalFlavor": "[vcpu: 1.0, memory: 1.0 Gb, disk 100.0 Gb, bandwidth: 1.0 Gbps]", "minDiskAvailableGb": 100.0, "minMainMemoryAvailableGb": 1.0, "minCpuCores": 1.0, "fastDisk": true, - "bandwidth": 0.0, + "bandwidth": 1000.0, "environment": "DOCKER_CONTAINER", "owner": { "tenant": "tenant3", diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/docker-node1-os-upgrade-complete.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/docker-node1-os-upgrade-complete.json index fc91c883441..09eea4113a9 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/docker-node1-os-upgrade-complete.json +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/docker-node1-os-upgrade-complete.json @@ -11,7 +11,7 @@ "minMainMemoryAvailableGb": 32.0, "minCpuCores": 4.0, "fastDisk": true, - "bandwidth": 0.0, + "bandwidth": 20000.0, "environment": "BARE_METAL", "owner": { "tenant": "zoneapp", diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/docker-node1-os-upgrade.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/docker-node1-os-upgrade.json index fc91c883441..09eea4113a9 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/docker-node1-os-upgrade.json +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/docker-node1-os-upgrade.json @@ -11,7 +11,7 @@ "minMainMemoryAvailableGb": 32.0, "minCpuCores": 4.0, "fastDisk": true, - "bandwidth": 0.0, + "bandwidth": 20000.0, "environment": "BARE_METAL", "owner": { "tenant": "zoneapp", diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/docker-node1.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/docker-node1.json index f59af799f37..3f20e2b0e7b 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/docker-node1.json +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/docker-node1.json @@ -11,7 +11,7 @@ "minMainMemoryAvailableGb": 32.0, "minCpuCores": 4.0, "fastDisk": true, - "bandwidth":0.0, + "bandwidth": 20000.0, "environment": "BARE_METAL", "owner": { "tenant": "zoneapp", diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/docker-node2.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/docker-node2.json index a01f4372fd8..4f9d0a89f4e 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/docker-node2.json +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/docker-node2.json @@ -11,7 +11,7 @@ "minMainMemoryAvailableGb": 32.0, "minCpuCores": 4.0, "fastDisk": true, - "bandwidth":0.0, + "bandwidth": 20000.0, "environment": "BARE_METAL", "owner": { "tenant": "zoneapp", diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/docker-node3.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/docker-node3.json index 44a11c98da2..bdfba9cc629 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/docker-node3.json +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/docker-node3.json @@ -11,7 +11,7 @@ "minMainMemoryAvailableGb": 32.0, "minCpuCores": 4.0, "fastDisk": true, - "bandwidth":0.0, + "bandwidth": 20000.0, "environment": "BARE_METAL", "owner": { "tenant": "zoneapp", diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/docker-node4.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/docker-node4.json index b3ec9aa0093..c3081480fe3 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/docker-node4.json +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/docker-node4.json @@ -11,7 +11,7 @@ "minMainMemoryAvailableGb": 32.0, "minCpuCores": 4.0, "fastDisk": true, - "bandwidth":0.0, + "bandwidth": 20000.0, "environment": "BARE_METAL", "owner": { "tenant": "zoneapp", diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/docker-node5.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/docker-node5.json index 963d485ac70..b779f8127df 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/docker-node5.json +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/docker-node5.json @@ -11,7 +11,7 @@ "minMainMemoryAvailableGb": 32.0, "minCpuCores": 4.0, "fastDisk": true, - "bandwidth":0.0, + "bandwidth": 20000.0, "environment": "BARE_METAL", "owner": { "tenant": "zoneapp", diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/dockerhost1-with-firmware-data.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/dockerhost1-with-firmware-data.json index efecd510266..1d7daebf10a 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/dockerhost1-with-firmware-data.json +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/dockerhost1-with-firmware-data.json @@ -11,7 +11,7 @@ "minMainMemoryAvailableGb": 32.0, "minCpuCores": 4.0, "fastDisk": true, - "bandwidth": 0.0, + "bandwidth": 20000.0, "environment": "BARE_METAL", "owner": { "tenant": "zoneapp", diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node1.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node1.json index c7c8a26c331..59477bc2e80 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node1.json +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node1.json @@ -5,13 +5,13 @@ "type": "tenant", "hostname": "host1.yahoo.com", "openStackId": "node1", - "flavor": "[vcpu: 2.0, memory: 8.0 Gb, disk 50.0 Gb]", - "canonicalFlavor": "[vcpu: 2.0, memory: 8.0 Gb, disk 50.0 Gb]", + "flavor": "[vcpu: 2.0, memory: 8.0 Gb, disk 50.0 Gb, bandwidth: 1.0 Gbps]", + "canonicalFlavor": "[vcpu: 2.0, memory: 8.0 Gb, disk 50.0 Gb, bandwidth: 1.0 Gbps]", "minDiskAvailableGb": 50.0, "minMainMemoryAvailableGb": 8.0, "minCpuCores": 2.0, "fastDisk": true, - "bandwidth": 0.0, + "bandwidth": 1000.0, "environment": "DOCKER_CONTAINER", "owner": { "tenant": "tenant1", diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node10.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node10.json index 8cca8e910c2..2072839aca2 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node10.json +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node10.json @@ -6,13 +6,13 @@ "hostname": "host10.yahoo.com", "parentHostname": "parent1.yahoo.com", "openStackId": "node10", - "flavor": "[vcpu: 2.0, memory: 8.0 Gb, disk 50.0 Gb]", - "canonicalFlavor": "[vcpu: 2.0, memory: 8.0 Gb, disk 50.0 Gb]", + "flavor": "[vcpu: 2.0, memory: 8.0 Gb, disk 50.0 Gb, bandwidth: 1.0 Gbps]", + "canonicalFlavor": "[vcpu: 2.0, memory: 8.0 Gb, disk 50.0 Gb, bandwidth: 1.0 Gbps]", "minDiskAvailableGb": 50.0, "minMainMemoryAvailableGb": 8.0, "minCpuCores": 2.0, "fastDisk": true, - "bandwidth": 0.0, + "bandwidth": 1000.0, "environment": "DOCKER_CONTAINER", "owner": { "tenant": "tenant1", diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node11.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node11.json index 9ea0fdcbfe5..e089af13632 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node11.json +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node11.json @@ -6,13 +6,13 @@ "hostname": "host11.yahoo.com", "parentHostname": "parent.host.yahoo.com", "openStackId": "host11.yahoo.com", - "flavor": "[vcpu: 1.0, memory: 1.0 Gb, disk 100.0 Gb]", - "canonicalFlavor": "[vcpu: 1.0, memory: 1.0 Gb, disk 100.0 Gb]", + "flavor": "[vcpu: 1.0, memory: 1.0 Gb, disk 100.0 Gb, bandwidth: 0.3 Gbps]", + "canonicalFlavor": "[vcpu: 1.0, memory: 1.0 Gb, disk 100.0 Gb, bandwidth: 0.3 Gbps]", "minDiskAvailableGb": 100.0, "minMainMemoryAvailableGb": 1.0, "minCpuCores": 1.0, "fastDisk": true, - "bandwidth": 0.0, + "bandwidth": 300.0, "environment": "DOCKER_CONTAINER", "rebootGeneration": 0, "currentRebootGeneration": 0, diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node13.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node13.json index d9d26ece91f..068dfc777b3 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node13.json +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node13.json @@ -5,13 +5,13 @@ "type": "tenant", "hostname": "host13.yahoo.com", "openStackId": "node13", - "flavor": "[vcpu: 10.0, memory: 48.0 Gb, disk 500.0 Gb]", - "canonicalFlavor": "[vcpu: 10.0, memory: 48.0 Gb, disk 500.0 Gb]", + "flavor": "[vcpu: 10.0, memory: 48.0 Gb, disk 500.0 Gb, bandwidth: 1.0 Gbps]", + "canonicalFlavor": "[vcpu: 10.0, memory: 48.0 Gb, disk 500.0 Gb, bandwidth: 1.0 Gbps]", "minDiskAvailableGb": 500.0, "minMainMemoryAvailableGb": 48.0, "minCpuCores": 10.0, "fastDisk": true, - "bandwidth": 0.0, + "bandwidth": 1000.0, "environment": "DOCKER_CONTAINER", "owner": { "tenant": "tenant4", diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node14.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node14.json index 56a3a75161d..a75b2b6d745 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node14.json +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node14.json @@ -5,13 +5,13 @@ "type": "tenant", "hostname": "host14.yahoo.com", "openStackId": "node14", - "flavor": "[vcpu: 10.0, memory: 48.0 Gb, disk 500.0 Gb]", - "canonicalFlavor": "[vcpu: 10.0, memory: 48.0 Gb, disk 500.0 Gb]", + "flavor": "[vcpu: 10.0, memory: 48.0 Gb, disk 500.0 Gb, bandwidth: 1.0 Gbps]", + "canonicalFlavor": "[vcpu: 10.0, memory: 48.0 Gb, disk 500.0 Gb, bandwidth: 1.0 Gbps]", "minDiskAvailableGb": 500.0, "minMainMemoryAvailableGb": 48.0, "minCpuCores": 10.0, "fastDisk": true, - "bandwidth": 0.0, + "bandwidth": 1000.0, "environment": "DOCKER_CONTAINER", "owner": { "tenant": "tenant4", diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node2.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node2.json index fe651e4fcc2..93adcaf0246 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node2.json +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node2.json @@ -5,13 +5,13 @@ "type": "tenant", "hostname": "host2.yahoo.com", "openStackId": "node2", - "flavor": "[vcpu: 2.0, memory: 8.0 Gb, disk 50.0 Gb]", - "canonicalFlavor": "[vcpu: 2.0, memory: 8.0 Gb, disk 50.0 Gb]", + "flavor": "[vcpu: 2.0, memory: 8.0 Gb, disk 50.0 Gb, bandwidth: 1.0 Gbps]", + "canonicalFlavor": "[vcpu: 2.0, memory: 8.0 Gb, disk 50.0 Gb, bandwidth: 1.0 Gbps]", "minDiskAvailableGb": 50.0, "minMainMemoryAvailableGb": 8.0, "minCpuCores": 2.0, "fastDisk": true, - "bandwidth": 0.0, + "bandwidth": 1000.0, "environment": "DOCKER_CONTAINER", "owner": { "tenant": "tenant2", diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node3.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node3.json index 10439678650..8a5cb53b545 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node3.json +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node3.json @@ -5,13 +5,13 @@ "type": "tenant", "hostname": "host3.yahoo.com", "openStackId": "node3", - "flavor": "[vcpu: 0.5, memory: 48.0 Gb, disk 500.0 Gb]", - "canonicalFlavor": "[vcpu: 0.5, memory: 48.0 Gb, disk 500.0 Gb]", + "flavor": "[vcpu: 0.5, memory: 48.0 Gb, disk 500.0 Gb, bandwidth: 1.0 Gbps]", + "canonicalFlavor": "[vcpu: 0.5, memory: 48.0 Gb, disk 500.0 Gb, bandwidth: 1.0 Gbps]", "minDiskAvailableGb": 500.0, "minMainMemoryAvailableGb": 48.0, "minCpuCores": 0.5, "fastDisk": true, - "bandwidth": 0.0, + "bandwidth": 1000.0, "environment": "DOCKER_CONTAINER", "rebootGeneration": 1, "currentRebootGeneration": 0, diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node4-after-changes.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node4-after-changes.json index 63773027a42..6865bd560bb 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node4-after-changes.json +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node4-after-changes.json @@ -12,7 +12,7 @@ "minMainMemoryAvailableGb": 8.0, "minCpuCores": 2.0, "fastDisk": true, - "bandwidth": 0.0, + "bandwidth": 1000.0, "environment": "DOCKER_CONTAINER", "owner": { "tenant": "tenant3", diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node4.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node4.json index a9b09756020..f288d560d5e 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node4.json +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node4.json @@ -6,13 +6,13 @@ "hostname": "host4.yahoo.com", "parentHostname": "dockerhost1.yahoo.com", "openStackId": "node4", - "flavor": "[vcpu: 1.0, memory: 1.0 Gb, disk 100.0 Gb]", - "canonicalFlavor": "[vcpu: 1.0, memory: 1.0 Gb, disk 100.0 Gb]", + "flavor": "[vcpu: 1.0, memory: 1.0 Gb, disk 100.0 Gb, bandwidth: 1.0 Gbps]", + "canonicalFlavor": "[vcpu: 1.0, memory: 1.0 Gb, disk 100.0 Gb, bandwidth: 1.0 Gbps]", "minDiskAvailableGb": 100.0, "minMainMemoryAvailableGb": 1.0, "minCpuCores": 1.0, "fastDisk": true, - "bandwidth": 0.0, + "bandwidth": 1000.0, "environment": "DOCKER_CONTAINER", "owner": { "tenant": "tenant3", diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node5-after-changes.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node5-after-changes.json index ad94495121c..6ee0ba07f06 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node5-after-changes.json +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node5-after-changes.json @@ -6,13 +6,13 @@ "hostname": "host5.yahoo.com", "parentHostname": "dockerhost2.yahoo.com", "openStackId": "node5", - "flavor": "[vcpu: 1.0, memory: 1.0 Gb, disk 100.0 Gb]", - "canonicalFlavor": "[vcpu: 1.0, memory: 1.0 Gb, disk 100.0 Gb]", + "flavor": "[vcpu: 1.0, memory: 1.0 Gb, disk 100.0 Gb, bandwidth: 1.0 Gbps]", + "canonicalFlavor": "[vcpu: 1.0, memory: 1.0 Gb, disk 100.0 Gb, bandwidth: 1.0 Gbps]", "minDiskAvailableGb": 100.0, "minMainMemoryAvailableGb": 1.0, "minCpuCores": 1.0, "fastDisk": true, - "bandwidth": 0.0, + "bandwidth": 1000.0, "environment": "DOCKER_CONTAINER", "rebootGeneration": 1, "currentRebootGeneration": 0, diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node5.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node5.json index 95fe01c90a4..725c6403ff5 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node5.json +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node5.json @@ -6,13 +6,13 @@ "hostname": "host5.yahoo.com", "parentHostname": "dockerhost2.yahoo.com", "openStackId": "node5", - "flavor": "[vcpu: 1.0, memory: 1.0 Gb, disk 100.0 Gb]", - "canonicalFlavor": "[vcpu: 1.0, memory: 1.0 Gb, disk 100.0 Gb]", + "flavor": "[vcpu: 1.0, memory: 1.0 Gb, disk 100.0 Gb, bandwidth: 1.0 Gbps]", + "canonicalFlavor": "[vcpu: 1.0, memory: 1.0 Gb, disk 100.0 Gb, bandwidth: 1.0 Gbps]", "minDiskAvailableGb": 100.0, "minMainMemoryAvailableGb": 1.0, "minCpuCores": 1.0, "fastDisk": true, - "bandwidth": 0.0, + "bandwidth": 1000.0, "environment": "DOCKER_CONTAINER", "rebootGeneration": 1, "currentRebootGeneration": 0, diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node55.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node55.json index 197d500bcfe..1712d02e6a5 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node55.json +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node55.json @@ -5,13 +5,13 @@ "type": "tenant", "hostname": "host55.yahoo.com", "openStackId": "node55", - "flavor": "[vcpu: 2.0, memory: 8.0 Gb, disk 50.0 Gb]", - "canonicalFlavor": "[vcpu: 2.0, memory: 8.0 Gb, disk 50.0 Gb]", + "flavor": "[vcpu: 2.0, memory: 8.0 Gb, disk 50.0 Gb, bandwidth: 1.0 Gbps]", + "canonicalFlavor": "[vcpu: 2.0, memory: 8.0 Gb, disk 50.0 Gb, bandwidth: 1.0 Gbps]", "minDiskAvailableGb": 50.0, "minMainMemoryAvailableGb": 8.0, "minCpuCores": 2.0, "fastDisk": true, - "bandwidth": 0.0, + "bandwidth": 1000.0, "environment": "DOCKER_CONTAINER", "rebootGeneration": 1, "currentRebootGeneration": 0, diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node6-after-changes.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node6-after-changes.json index 23329ecdc1c..0472d1d62a4 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node6-after-changes.json +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node6-after-changes.json @@ -5,13 +5,13 @@ "type": "tenant", "hostname": "host6.yahoo.com", "openStackId": "node6", - "flavor": "[vcpu: 2.0, memory: 8.0 Gb, disk 50.0 Gb]", - "canonicalFlavor": "[vcpu: 2.0, memory: 8.0 Gb, disk 50.0 Gb]", + "flavor": "[vcpu: 2.0, memory: 8.0 Gb, disk 50.0 Gb, bandwidth: 1.0 Gbps]", + "canonicalFlavor": "[vcpu: 2.0, memory: 8.0 Gb, disk 50.0 Gb, bandwidth: 1.0 Gbps]", "minDiskAvailableGb": 50.0, "minMainMemoryAvailableGb": 8.0, "minCpuCores": 2.0, "fastDisk": true, - "bandwidth": 0.0, + "bandwidth": 1000.0, "environment": "DOCKER_CONTAINER", "owner": { "tenant": "tenant2", diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node6-reports-2.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node6-reports-2.json index f75caf08961..061967ed105 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node6-reports-2.json +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node6-reports-2.json @@ -5,13 +5,13 @@ "type": "tenant", "hostname": "host6.yahoo.com", "openStackId": "node6", - "flavor": "[vcpu: 2.0, memory: 8.0 Gb, disk 50.0 Gb]", - "canonicalFlavor": "[vcpu: 2.0, memory: 8.0 Gb, disk 50.0 Gb]", + "flavor": "[vcpu: 2.0, memory: 8.0 Gb, disk 50.0 Gb, bandwidth: 1.0 Gbps]", + "canonicalFlavor": "[vcpu: 2.0, memory: 8.0 Gb, disk 50.0 Gb, bandwidth: 1.0 Gbps]", "minDiskAvailableGb": 50.0, "minMainMemoryAvailableGb": 8.0, "minCpuCores": 2.0, "fastDisk": true, - "bandwidth": 0.0, + "bandwidth": 1000.0, "environment": "DOCKER_CONTAINER", "owner": { "tenant": "tenant2", diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node6-reports-3.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node6-reports-3.json index 802e815450e..8f11e308615 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node6-reports-3.json +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node6-reports-3.json @@ -5,13 +5,13 @@ "type": "tenant", "hostname": "host6.yahoo.com", "openStackId": "node6", - "flavor": "[vcpu: 2.0, memory: 8.0 Gb, disk 50.0 Gb]", - "canonicalFlavor": "[vcpu: 2.0, memory: 8.0 Gb, disk 50.0 Gb]", + "flavor": "[vcpu: 2.0, memory: 8.0 Gb, disk 50.0 Gb, bandwidth: 1.0 Gbps]", + "canonicalFlavor": "[vcpu: 2.0, memory: 8.0 Gb, disk 50.0 Gb, bandwidth: 1.0 Gbps]", "minDiskAvailableGb": 50.0, "minMainMemoryAvailableGb": 8.0, "minCpuCores": 2.0, "fastDisk": true, - "bandwidth": 0.0, + "bandwidth": 1000.0, "environment": "DOCKER_CONTAINER", "owner": { "tenant": "tenant2", diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node6-reports.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node6-reports.json index 8e9fea80796..6aa88495010 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node6-reports.json +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node6-reports.json @@ -5,13 +5,13 @@ "type": "tenant", "hostname": "host6.yahoo.com", "openStackId": "node6", - "flavor": "[vcpu: 2.0, memory: 8.0 Gb, disk 50.0 Gb]", - "canonicalFlavor": "[vcpu: 2.0, memory: 8.0 Gb, disk 50.0 Gb]", + "flavor": "[vcpu: 2.0, memory: 8.0 Gb, disk 50.0 Gb, bandwidth: 1.0 Gbps]", + "canonicalFlavor": "[vcpu: 2.0, memory: 8.0 Gb, disk 50.0 Gb, bandwidth: 1.0 Gbps]", "minDiskAvailableGb": 50.0, "minMainMemoryAvailableGb": 8.0, "minCpuCores": 2.0, "fastDisk": true, - "bandwidth": 0.0, + "bandwidth": 1000.0, "environment": "DOCKER_CONTAINER", "owner": { "tenant": "tenant2", diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node6.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node6.json index d7a16b94fb5..15cc3920c10 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node6.json +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node6.json @@ -5,13 +5,13 @@ "type": "tenant", "hostname": "host6.yahoo.com", "openStackId": "node6", - "flavor": "[vcpu: 2.0, memory: 8.0 Gb, disk 50.0 Gb]", - "canonicalFlavor": "[vcpu: 2.0, memory: 8.0 Gb, disk 50.0 Gb]", + "flavor": "[vcpu: 2.0, memory: 8.0 Gb, disk 50.0 Gb, bandwidth: 1.0 Gbps]", + "canonicalFlavor": "[vcpu: 2.0, memory: 8.0 Gb, disk 50.0 Gb, bandwidth: 1.0 Gbps]", "minDiskAvailableGb": 50.0, "minMainMemoryAvailableGb": 8.0, "minCpuCores": 2.0, "fastDisk": true, - "bandwidth": 0.0, + "bandwidth": 1000.0, "environment": "DOCKER_CONTAINER", "owner": { "tenant": "tenant2", diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node7.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node7.json index 6e0d5dcf3b0..8ec4f4e45f2 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node7.json +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node7.json @@ -5,13 +5,13 @@ "type": "tenant", "hostname": "host7.yahoo.com", "openStackId": "node7", - "flavor": "[vcpu: 2.0, memory: 8.0 Gb, disk 50.0 Gb]", - "canonicalFlavor": "[vcpu: 2.0, memory: 8.0 Gb, disk 50.0 Gb]", + "flavor": "[vcpu: 2.0, memory: 8.0 Gb, disk 50.0 Gb, bandwidth: 1.0 Gbps]", + "canonicalFlavor": "[vcpu: 2.0, memory: 8.0 Gb, disk 50.0 Gb, bandwidth: 1.0 Gbps]", "minDiskAvailableGb": 50.0, "minMainMemoryAvailableGb": 8.0, "minCpuCores": 2.0, "fastDisk": true, - "bandwidth": 0.0, + "bandwidth": 1000.0, "environment": "DOCKER_CONTAINER", "rebootGeneration": 0, "currentRebootGeneration": 0, diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node8.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node8.json index aa471419333..0e87d3d67eb 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node8.json +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node8.json @@ -11,7 +11,7 @@ "minMainMemoryAvailableGb": 16.0, "minCpuCores": 2.0, "fastDisk": true, - "bandwidth": 0.0, + "bandwidth": 10000.0, "environment": "BARE_METAL", "rebootGeneration": 0, "currentRebootGeneration": 0, diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node9.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node9.json index ee658e310b0..465e29472d4 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node9.json +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node9.json @@ -11,7 +11,7 @@ "minMainMemoryAvailableGb": 128.0, "minCpuCores": 64.0, "fastDisk": true, - "bandwidth": 0.0, + "bandwidth": 15000.0, "environment": "BARE_METAL", "rebootGeneration": 0, "currentRebootGeneration": 0, diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/parent2.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/parent2.json index 7d8b48232b5..cfd28084393 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/parent2.json +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/parent2.json @@ -11,7 +11,7 @@ "minMainMemoryAvailableGb": 128.0, "minCpuCores": 64.0, "fastDisk":true, - "bandwidth":0.0, + "bandwidth": 15000.0, "environment": "BARE_METAL", "rebootGeneration": 0, "currentRebootGeneration": 0, |