summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Musum <musum@verizonmedia.com>2020-03-31 17:10:23 +0200
committerGitHub <noreply@github.com>2020-03-31 17:10:23 +0200
commitede7a4ac09e169813087b05d8b98818332b6578c (patch)
tree3c3b3361fa03998ddfc6d364b7b9583bc6943270
parente4487a7626fab2dbe969de424fc3bdcdfed8067e (diff)
parente4452dab408f03b275c09dda06267142b50f39d9 (diff)
Merge pull request #12782 from vespa-engine/andreer/count-capacity-on-active-nodes-only
count capacity on active hosts only
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/MetricsReporter.java9
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/MetricsReporterTest.java5
2 files changed, 10 insertions, 4 deletions
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/MetricsReporter.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/MetricsReporter.java
index e107abf8fbb..098d706bf05 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/MetricsReporter.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/MetricsReporter.java
@@ -29,6 +29,7 @@ import java.util.function.Supplier;
import java.util.stream.Collectors;
import static com.yahoo.config.provision.NodeResources.DiskSpeed.any;
+import static com.yahoo.vespa.hosted.provision.Node.State.active;
/**
* @author oyving
@@ -249,16 +250,16 @@ public class MetricsReporter extends Maintainer {
}
private static NodeResources getCapacityTotal(NodeList nodes) {
- return nodes.nodeType(NodeType.host).asList().stream()
+ return nodes.nodeType(NodeType.host).state(active).asList().stream()
.map(host -> host.flavor().resources())
- .map(resources -> resources.justNumbers())
+ .map(NodeResources::justNumbers)
.reduce(new NodeResources(0, 0, 0, 0, any), NodeResources::add);
}
private static NodeResources getFreeCapacityTotal(NodeList nodes) {
- return nodes.nodeType(NodeType.host).asList().stream()
+ return nodes.nodeType(NodeType.host).state(active).asList().stream()
.map(n -> freeCapacityOf(nodes, n))
- .map(resources -> resources.justNumbers())
+ .map(NodeResources::justNumbers)
.reduce(new NodeResources(0, 0, 0, 0, any), NodeResources::add);
}
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 aa262bdf751..ca7c33f96bd 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
@@ -11,6 +11,7 @@ import com.yahoo.config.provision.NodeType;
import com.yahoo.config.provision.Zone;
import com.yahoo.jdisc.Metric;
import com.yahoo.test.ManualClock;
+import com.yahoo.transaction.NestedTransaction;
import com.yahoo.vespa.applicationmodel.ApplicationInstance;
import com.yahoo.vespa.applicationmodel.ApplicationInstanceReference;
import com.yahoo.vespa.curator.Curator;
@@ -163,6 +164,10 @@ public class MetricsReporterTest {
container2 = container2.with(allocation(Optional.of("app2"), container2).get());
nodeRepository.addDockerNodes(new LockedNodeList(List.of(container2), nodeRepository.lockUnallocated()));
+ NestedTransaction transaction = new NestedTransaction();
+ nodeRepository.activate(nodeRepository.getNodes(NodeType.host), transaction);
+ transaction.commit();
+
Orchestrator orchestrator = mock(Orchestrator.class);
when(orchestrator.getHostInfo(eq(reference), any())).thenReturn(HostInfo.createNoRemarks());