summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOla Aunrønning <olaa@verizonmedia.com>2019-10-04 13:16:57 +0200
committerOla Aunrønning <olaa@verizonmedia.com>2019-10-04 13:16:57 +0200
commitcfb1ae9d80940c1867b4f4a096d51045ea5ec397 (patch)
treef0f0a50b516a58d1e6809683735cdca8b18971c7
parentbdd5039b768f2ad055e362ba5d1bb3dc9fb30d51 (diff)
Refactoring
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/ResourceMeterMaintainer.java31
1 files changed, 16 insertions, 15 deletions
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/ResourceMeterMaintainer.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/ResourceMeterMaintainer.java
index 95b95bed70a..0e14b61c5c5 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/ResourceMeterMaintainer.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/ResourceMeterMaintainer.java
@@ -17,6 +17,7 @@ import java.time.Duration;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
+import java.util.function.Predicate;
import java.util.stream.Collectors;
/**
@@ -66,27 +67,27 @@ public class ResourceMeterMaintainer extends Maintainer {
.ofCloud(CloudName.from("aws"))
.reachable().zones().stream()
.map(ZoneApi::getId)
- .map(zoneId -> {
- List<Node> nodes = nodeRepository.list(zoneId).stream()
- .filter(node -> node.owner().isPresent())
- .filter(node -> ! node.owner().get().tenant().value().equals("hosted-vespa"))
- .collect(Collectors.toList());
- return createResourceSnapshotsFromNodes(zoneId, nodes);
- })
+ .map(zoneId -> createResourceSnapshotsFromNodes(zoneId, nodeRepository.list(zoneId)))
.flatMap(Collection::stream)
.collect(Collectors.toList());
}
private Collection<ResourceSnapshot> createResourceSnapshotsFromNodes(ZoneId zoneId, List<Node> nodes) {
return nodes.stream()
- .collect(Collectors.groupingBy(node ->
- node.owner().get(),
- Collectors.collectingAndThen(Collectors.toList(),
- nodeList -> ResourceSnapshot.from(
- nodeList,
- clock.instant(),
- zoneId))
- )).values();
+ .filter(unlessNodeOwnerIsHostedVespa())
+ .collect(Collectors.groupingBy(node ->
+ node.owner().get(),
+ Collectors.collectingAndThen(Collectors.toList(),
+ nodeList -> ResourceSnapshot.from(
+ nodeList,
+ clock.instant(),
+ zoneId))
+ )).values();
}
+ private Predicate<Node> unlessNodeOwnerIsHostedVespa() {
+ return node -> node.owner().map(owner ->
+ !owner.tenant().value().equals("hosted-vespa")
+ ).orElse(false);
+ }
}