summaryrefslogtreecommitdiffstats
path: root/controller-server
diff options
context:
space:
mode:
authorValerij Fredriksen <freva@users.noreply.github.com>2023-01-30 14:20:24 +0100
committerGitHub <noreply@github.com>2023-01-30 14:20:24 +0100
commit95f818672cd7b5e3144ac632d191f221f0b49962 (patch)
tree403c35b28ac07220169db04c32bbd4948d2f7794 /controller-server
parentb229fe2920007ae37b87fe0b10e52ed7ef68949b (diff)
parent93f51338fc01090e84aa0126f9671979255350b1 (diff)
Merge pull request #25799 from vespa-engine/bratseth/groupsize-in-application-v4
Serialize groupSize if set
Diffstat (limited to 'controller-server')
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiHandler.java8
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/integration/ConfigServerMock.java2
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/application-clusters.json3
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,