diff options
author | Valerij Fredriksen <freva@users.noreply.github.com> | 2023-01-30 14:20:24 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-01-30 14:20:24 +0100 |
commit | 95f818672cd7b5e3144ac632d191f221f0b49962 (patch) | |
tree | 403c35b28ac07220169db04c32bbd4948d2f7794 /controller-server | |
parent | b229fe2920007ae37b87fe0b10e52ed7ef68949b (diff) | |
parent | 93f51338fc01090e84aa0126f9671979255350b1 (diff) |
Merge pull request #25799 from vespa-engine/bratseth/groupsize-in-application-v4
Serialize groupSize if set
Diffstat (limited to 'controller-server')
3 files changed, 13 insertions, 0 deletions
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiHandler.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiHandler.java index 8876cee5550..9407aa0ae74 100644 --- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiHandler.java +++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiHandler.java @@ -22,6 +22,7 @@ import com.yahoo.config.provision.ClusterSpec; import com.yahoo.config.provision.Environment; import com.yahoo.config.provision.HostName; import com.yahoo.config.provision.InstanceName; +import com.yahoo.config.provision.IntRange; import com.yahoo.config.provision.NodeResources; import com.yahoo.config.provision.TenantName; import com.yahoo.config.provision.ZoneEndpoint.AllowedUrn; @@ -1359,6 +1360,8 @@ public class ApplicationApiHandler extends AuditLoggingRequestHandler { clusterObject.setString("type", cluster.type().name()); toSlime(cluster.min(), clusterObject.setObject("min")); toSlime(cluster.max(), clusterObject.setObject("max")); + if ( ! cluster.groupSize().isEmpty()) + toSlime(cluster.groupSize(), clusterObject.setObject("groupSize")); toSlime(cluster.current(), clusterObject.setObject("current")); toSlime(cluster.target(), clusterObject.setObject("target")); toSlime(cluster.suggested(), clusterObject.setObject("suggested")); @@ -2725,6 +2728,11 @@ public class ApplicationApiHandler extends AuditLoggingRequestHandler { object.setDouble("cost", cost); } + private void toSlime(IntRange range, Cursor object) { + range.from().ifPresent(from -> object.setLong("from", from)); + range.to().ifPresent(to -> object.setLong("to", to)); + } + private void toSlime(Cluster.Autoscaling autoscaling, Cursor autoscalingObject) { autoscalingObject.setString("status", autoscaling.status()); autoscalingObject.setString("description", autoscaling.description()); diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/integration/ConfigServerMock.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/integration/ConfigServerMock.java index 5704af75cb9..6e6ecef4e66 100644 --- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/integration/ConfigServerMock.java +++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/integration/ConfigServerMock.java @@ -16,6 +16,7 @@ import com.yahoo.config.provision.EndpointsChecker.Availability; import com.yahoo.config.provision.EndpointsChecker.Endpoint; import com.yahoo.config.provision.Environment; import com.yahoo.config.provision.HostName; +import com.yahoo.config.provision.IntRange; import com.yahoo.config.provision.NodeResources; import com.yahoo.config.provision.NodeType; import com.yahoo.config.provision.ZoneEndpoint.AllowedUrn; @@ -122,6 +123,7 @@ public class ConfigServerMock extends AbstractComponent implements ConfigServer ClusterSpec.Type.container, new ClusterResources(2, 1, new NodeResources(1, 4, 20, 1, slow, remote)), new ClusterResources(2, 1, new NodeResources(4, 16, 90, 1, slow, remote)), + IntRange.to(3), current, new Cluster.Autoscaling("ideal", "Cluster is ideally scaled", diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/application-clusters.json b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/application-clusters.json index b5ae4efd752..eb4c3294fe0 100644 --- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/application-clusters.json +++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/application-clusters.json @@ -28,6 +28,9 @@ }, "cost": 0.43 }, + "groupSize": { + "to": 3 + }, "current": { "nodes": 2, "groups": 1, |