aboutsummaryrefslogtreecommitdiffstats
path: root/node-repository
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@verizonmedia.com>2020-03-16 17:48:23 +0100
committerJon Bratseth <bratseth@verizonmedia.com>2020-03-16 17:48:23 +0100
commit2ee38ab4e8be0ea9a7c8405111d93212679501a4 (patch)
treeec3811966a194ef7d0254578d2c07f44c2c524bf /node-repository
parentb65685b73b5b26df3b915474efeee497ca40a24c (diff)
More elaborate toString
Diffstat (limited to 'node-repository')
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/AutoscalingMaintainer.java15
1 files changed, 12 insertions, 3 deletions
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/AutoscalingMaintainer.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/AutoscalingMaintainer.java
index d0e163cdd8a..7bc46017848 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/AutoscalingMaintainer.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/AutoscalingMaintainer.java
@@ -4,6 +4,7 @@ package com.yahoo.vespa.hosted.provision.maintenance;
import com.yahoo.config.provision.ApplicationId;
import com.yahoo.config.provision.ClusterSpec;
import com.yahoo.config.provision.Deployer;
+import com.yahoo.config.provision.NodeResources;
import com.yahoo.vespa.hosted.provision.Node;
import com.yahoo.vespa.hosted.provision.NodeRepository;
import com.yahoo.vespa.hosted.provision.autoscale.AllocatableClusterResources;
@@ -51,16 +52,24 @@ public class AutoscalingMaintainer extends Maintainer {
try (MaintenanceDeployment deployment = new MaintenanceDeployment(application, deployer, nodeRepository())) {
if ( ! deployment.isValid()) return; // Another config server will consider this application
nodesByCluster(applicationNodes).forEach((clusterId, clusterNodes) -> {
- var currentResources = new AllocatableClusterResources(clusterNodes, hostResourcesCalculator);
Optional<AllocatableClusterResources> target = autoscaler.autoscale(clusterNodes);
+
+ int currentGroups = (int)clusterNodes.stream().map(node -> node.allocation().get().membership().cluster().group()).distinct().count();
ClusterSpec.Type clusterType = clusterNodes.get(0).allocation().get().membership().cluster().type();
target.ifPresent(t -> log.info("Autoscale: " + application + clusterType + " " + clusterId +
- " from " + clusterNodes.size() + " * " + clusterNodes.get(0).flavor().resources() +
- " to " + t.nodes() + " * " + t.advertisedResources()));
+ " from " + toString(clusterNodes.size(), currentGroups, clusterNodes.get(0).flavor().resources()) +
+ " to " + toString(t.nodes(), t.groups(), t.advertisedResources())));
});
}
}
+ private String toString(int nodes, int groups, NodeResources resources) {
+ return nodes +
+ (groups > 1 ? " in " + groups + " groups " : " ") +
+ " * " + resources +
+ " (total: " + "[vcpu: " + nodes * resources.vcpu() + ", memory: " + nodes * resources.memoryGb() + " Gb, disk " + nodes * resources.diskGb() + " Gb])";
+ }
+
private Map<ClusterSpec.Id, List<Node>> nodesByCluster(List<Node> applicationNodes) {
return applicationNodes.stream().collect(Collectors.groupingBy(n -> n.allocation().get().membership().cluster().id()));
}