diff options
author | Øyvind Grønnesby <oyving@yahooinc.com> | 2023-02-23 14:06:25 +0100 |
---|---|---|
committer | Øyvind Grønnesby <oyving@yahooinc.com> | 2023-02-23 14:06:25 +0100 |
commit | 3204ecd71bed82fe25bbc50688aa5516b55b989a (patch) | |
tree | e54110634e6350584674d3bb80881277e3359407 /controller-server/src/test | |
parent | 88a602d98d87475d1fb3757ae93295e84b936ee5 (diff) |
Use ResourceAllocation less. NodeResources does the job
Diffstat (limited to 'controller-server/src/test')
2 files changed, 24 insertions, 16 deletions
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/ResourceMeterMaintainerTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/ResourceMeterMaintainerTest.java index cecf0b1a2cf..3034c93e593 100644 --- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/ResourceMeterMaintainerTest.java +++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/ResourceMeterMaintainerTest.java @@ -61,18 +61,20 @@ public class ResourceMeterMaintainerTest { .collect(Collectors.toMap(Map.Entry::getKey, entry -> entry.getValue().cost().getAsDouble()))); List<ResourceSnapshot> resourceSnapshots = List.of( - new ResourceSnapshot(app1, 12, 34, 56, NodeResources.Architecture.getDefault(), Instant.EPOCH, z1, Version.emptyVersion), - new ResourceSnapshot(app1, 23, 45, 67, NodeResources.Architecture.getDefault(), Instant.EPOCH, z2, Version.emptyVersion), - new ResourceSnapshot(app2, 34, 56, 78, NodeResources.Architecture.getDefault(), Instant.EPOCH, z1, Version.emptyVersion)); + new ResourceSnapshot(app1, resources(12, 34, 56), Instant.EPOCH, z1, Version.emptyVersion), + new ResourceSnapshot(app1, resources(23, 45, 67), Instant.EPOCH, z2, Version.emptyVersion), + new ResourceSnapshot(app2, resources(34, 56, 78), Instant.EPOCH, z1, Version.emptyVersion)); + maintainer.updateDeploymentCost(resourceSnapshots); assertCost.accept(app1, Map.of(z1, 1.72, z2, 3.05)); assertCost.accept(app2, Map.of(z1, 4.39)); // Remove a region from app1 and add region to app2 resourceSnapshots = List.of( - new ResourceSnapshot(app1, 23, 45, 67, NodeResources.Architecture.getDefault(), Instant.EPOCH, z2, Version.emptyVersion), - new ResourceSnapshot(app2, 34, 56, 78, NodeResources.Architecture.getDefault(), Instant.EPOCH, z1, Version.emptyVersion), - new ResourceSnapshot(app2, 45, 67, 89, NodeResources.Architecture.getDefault(), Instant.EPOCH, z2, Version.emptyVersion)); + new ResourceSnapshot(app1, resources(23, 45, 67), Instant.EPOCH, z2, Version.emptyVersion), + new ResourceSnapshot(app2, resources(34, 56, 78), Instant.EPOCH, z1, Version.emptyVersion), + new ResourceSnapshot(app2, resources(45, 67, 89), Instant.EPOCH, z2, Version.emptyVersion)); + maintainer.updateDeploymentCost(resourceSnapshots); assertCost.accept(app1, Map.of(z2, 3.05)); assertCost.accept(app2, Map.of(z1, 4.39, z2, 5.72)); @@ -97,13 +99,13 @@ public class ResourceMeterMaintainerTest { ResourceSnapshot app1 = consumedResources.stream().filter(snapshot -> snapshot.getApplicationId().equals(ApplicationId.from("tenant1", "app1", "default"))).findFirst().orElseThrow(); ResourceSnapshot app2 = consumedResources.stream().filter(snapshot -> snapshot.getApplicationId().equals(ApplicationId.from("tenant2", "app2", "default"))).findFirst().orElseThrow(); - assertEquals(24, app1.getCpuCores(), Double.MIN_VALUE); - assertEquals(24, app1.getMemoryGb(), Double.MIN_VALUE); - assertEquals(500, app1.getDiskGb(), Double.MIN_VALUE); + assertEquals(24, app1.resources().vcpu(), Double.MIN_VALUE); + assertEquals(24, app1.resources().memoryGb(), Double.MIN_VALUE); + assertEquals(500, app1.resources().diskGb(), Double.MIN_VALUE); - assertEquals(40, app2.getCpuCores(), Double.MIN_VALUE); - assertEquals(24, app2.getMemoryGb(), Double.MIN_VALUE); - assertEquals(500, app2.getDiskGb(), Double.MIN_VALUE); + assertEquals(40, app2.resources().vcpu(), Double.MIN_VALUE); + assertEquals(24, app2.resources().memoryGb(), Double.MIN_VALUE); + assertEquals(500, app2.resources().diskGb(), Double.MIN_VALUE); assertEquals(tester.clock().millis() / 1000, metrics.getMetric("metering_last_reported")); assertEquals(2224.0d, (Double) metrics.getMetric("metering_total_reported"), Double.MIN_VALUE); @@ -154,4 +156,8 @@ public class ResourceMeterMaintainerTest { .build()) .toList(); } + + private NodeResources resources(double cpu, double ram, double disk) { + return new NodeResources(cpu, ram, disk, 0, NodeResources.DiskSpeed.getDefault(), NodeResources.StorageType.getDefault(), NodeResources.Architecture.getDefault(), NodeResources.GpuResources.getDefault()); + } } diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/controller/ControllerApiTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/controller/ControllerApiTest.java index 9adfc83da5c..ac7287b7e27 100644 --- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/controller/ControllerApiTest.java +++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/controller/ControllerApiTest.java @@ -158,10 +158,12 @@ public class ControllerApiTest extends ControllerContainerTest { ApplicationId applicationId = ApplicationId.from("tenant", "app", "instance"); Instant timestamp = Instant.ofEpochMilli(123456789); ZoneId zoneId = ZoneId.defaultId(); - List<ResourceSnapshot> snapshots = List.of( - new ResourceSnapshot(applicationId, 12, 48, 1200, NodeResources.Architecture.arm64, timestamp, zoneId, Version.emptyVersion), - new ResourceSnapshot(applicationId, 24, 96, 2400, NodeResources.Architecture.x86_64, timestamp, zoneId, Version.emptyVersion) - ); + var resources = List.of( + new NodeResources(12, 48, 1200, 0, NodeResources.DiskSpeed.any, NodeResources.StorageType.any, NodeResources.Architecture.arm64), + new NodeResources(24, 96, 2400, 0, NodeResources.DiskSpeed.any, NodeResources.StorageType.any, NodeResources.Architecture.x86_64)); + + var snapshots = resources.stream().map(x -> new ResourceSnapshot(applicationId, x, timestamp, zoneId, Version.emptyVersion)).toList(); + tester.controller().serviceRegistry().resourceDatabase().writeResourceSnapshots(snapshots); tester.assertResponse( operatorRequest("http://localhost:8080/controller/v1/metering/tenant/tenantName/month/2020-02", "", Request.Method.GET), |