summaryrefslogtreecommitdiffstats
path: root/controller-server
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@verizonmedia.com>2019-09-07 16:04:09 +0200
committerJon Bratseth <bratseth@verizonmedia.com>2019-09-07 16:04:09 +0200
commit6566175df8d1f99fb9476df3ba5cc121f9f605c9 (patch)
tree29e5dffbc190e1f84166130ede7519b834c46e25 /controller-server
parenta439476f948f52a57485f5e7700b17bf9aa73417 (diff)
Meter all allocated nodes
Diffstat (limited to 'controller-server')
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/AwsEventReporterMaintainer.java5
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/BillingMaintainer.java3
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/ResourceMeterMaintainer.java21
3 files changed, 16 insertions, 13 deletions
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/AwsEventReporterMaintainer.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/AwsEventReporterMaintainer.java
index 12bee2a7954..9a8adadd56e 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/AwsEventReporterMaintainer.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/AwsEventReporterMaintainer.java
@@ -16,10 +16,12 @@ import java.util.logging.Logger;
import java.util.stream.Collectors;
/**
+ * Automatically fetches scheduled events from AWS and submits issues detailing them.
+ *
* @author mgimle
- * Automatically fetches scheduled events from AWS and submits issues detailing them to Jira.
*/
public class AwsEventReporterMaintainer extends Maintainer {
+
private static final Logger log = Logger.getLogger(AwsEventReporterMaintainer.class.getName());
private final IssueHandler issueHandler;
@@ -53,4 +55,5 @@ public class AwsEventReporterMaintainer extends Maintainer {
}
}
}
+
}
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/BillingMaintainer.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/BillingMaintainer.java
index c6956293adf..466a79b99dc 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/BillingMaintainer.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/BillingMaintainer.java
@@ -29,11 +29,12 @@ public class BillingMaintainer extends Maintainer {
.map(tenant -> (CloudTenant) tenant)
.forEach(cloudTenant -> controller().applications().asList(cloudTenant.name())
.stream()
- .forEach( application -> {
+ .forEach(application -> {
billing.handleBilling(application.id(), cloudTenant.billingInfo().customerId());
})
);
}
+
}
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 8dba0a3e813..098bac0c72c 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
@@ -47,33 +47,32 @@ public class ResourceMeterMaintainer extends Maintainer {
@Override
protected void maintain() {
- List<Node> nodes = getNodes();
- List<ResourceSnapshot> resourceSnapshots = getResourceSnapshots(nodes);
+ List<ResourceSnapshot> resourceSnapshots = getResourceSnapshots(allocatedNodes());
meteringClient.consume(resourceSnapshots);
metric.set(METERING_LAST_REPORTED, clock.millis() / 1000, metric.createContext(Collections.emptyMap()));
- metric.set(METERING_TOTAL_REPORTED, resourceSnapshots.stream()
- .mapToDouble(r -> r.getCpuCores() + r.getMemoryGb() + r.getDiskGb()) // total metered resource usage, for alerting on drastic changes
- .sum()
- , metric.createContext(Collections.emptyMap()));
+ // total metered resource usage, for alerting on drastic changes
+ metric.set(METERING_TOTAL_REPORTED,
+ resourceSnapshots.stream().mapToDouble(r -> r.getCpuCores() + r.getMemoryGb() + r.getDiskGb()).sum(),
+ metric.createContext(Collections.emptyMap()));
}
- private List<Node> getNodes() {
+ private List<Node> allocatedNodes() {
return controller().zoneRegistry().zones()
.ofCloud(CloudName.from("aws"))
.reachable().zones().stream()
.flatMap(zone -> nodeRepository.list(zone.getId()).stream())
- .filter(node -> node.owner().isPresent() && !node.owner().get().tenant().value().equals("hosted-vespa"))
- .filter(node -> node.state() == Node.State.active)
+ .filter(node -> node.owner().isPresent())
+ .filter(node -> ! node.owner().get().tenant().value().equals("hosted-vespa"))
.collect(Collectors.toList());
}
private List<ResourceSnapshot> getResourceSnapshots(List<Node> nodes) {
return new ArrayList<>(nodes.stream()
- .filter(node -> node.owner().isPresent())
.collect(Collectors.groupingBy(node -> node.owner().get(),
- Collectors.collectingAndThen(Collectors.toList(), nodeList -> ResourceSnapshot.from(nodeList, clock.instant()))
+ Collectors.collectingAndThen(Collectors.toList(),
+ nodeList -> ResourceSnapshot.from(nodeList, clock.instant()))
)).values());
}