summaryrefslogtreecommitdiffstats
path: root/node-repository
diff options
context:
space:
mode:
authorHarald Musum <musum@verizonmedia.com>2021-06-11 13:17:35 +0200
committerHarald Musum <musum@verizonmedia.com>2021-06-11 13:17:35 +0200
commit052e88dd1ebf743e7aadfabfa6b168884158bf00 (patch)
tree8c323a7310a009b181aa4742287f11580c1f2789 /node-repository
parentac5e9cc2b2b3faf8ca917822593c5c7536794097 (diff)
Report disk encryption metrics only for hosts
Diffstat (limited to 'node-repository')
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/MetricsReporter.java6
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/MetricsReporterTest.java24
2 files changed, 26 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 4537d99d107..9f84322fe0f 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
@@ -200,8 +200,10 @@ public class MetricsReporter extends NodeRepositoryMaintainer {
metric.set("wantToDeprovision", node.status().wantToDeprovision() ? 1 : 0, context);
metric.set("failReport", NodeFailer.reasonsToFailParentHost(node).isEmpty() ? 0 : 1, context);
- metric.set("wantToEncrypt", node.reports().getReport("wantToEncrypt").isPresent() ? 1 : 0, context);
- metric.set("diskEncrypted", node.reports().getReport("diskEncrypted").isPresent() ? 1 : 0, context);
+ if (node.type().isHost()) {
+ metric.set("wantToEncrypt", node.reports().getReport("wantToEncrypt").isPresent() ? 1 : 0, context);
+ metric.set("diskEncrypted", node.reports().getReport("diskEncrypted").isPresent() ? 1 : 0, context);
+ }
HostName hostname = new HostName(node.hostname());
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 4251d1276f8..7fa6810c1ba 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
@@ -43,6 +43,7 @@ import java.util.TreeMap;
import java.util.stream.Collectors;
import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.mock;
@@ -113,8 +114,6 @@ public class MetricsReporterTest {
expectedMetrics.put("wantToDeprovision", 0);
expectedMetrics.put("failReport", 0);
- expectedMetrics.put("wantToEncrypt", 0);
- expectedMetrics.put("diskEncrypted", 0);
expectedMetrics.put("allowedToBeDown", 1);
expectedMetrics.put("suspended", 1);
@@ -150,6 +149,27 @@ public class MetricsReporterTest {
assertEquals(expectedMetrics, new TreeMap<>(metric.values));
}
+ @Test
+ public void test_registered_metrics_for_host() {
+ NodeFlavors nodeFlavors = FlavorConfigBuilder.createDummies("default");
+ Orchestrator orchestrator = mock(Orchestrator.class);
+ when(orchestrator.getHostInfo(eq(reference), any())).thenReturn(
+ HostInfo.createSuspended(HostStatus.ALLOWED_TO_BE_DOWN, Instant.ofEpochSecond(1)));
+ ProvisioningTester tester = new ProvisioningTester.Builder().flavors(nodeFlavors.getFlavors()).orchestrator(orchestrator).build();
+ tester.makeProvisionedNodes(1, "default", NodeType.host, 0);
+
+ tester.clock().setInstant(Instant.ofEpochSecond(124));
+
+ TestMetric metric = new TestMetric();
+ MetricsReporter metricsReporter = metricsReporter(metric, tester);
+ metricsReporter.maintain();
+
+ // Only verify metrics that are set for hosts
+ TreeMap<String, Number> metrics = new TreeMap<>(metric.values);
+ assertTrue(metrics.containsKey("wantToEncrypt"));
+ assertTrue(metrics.containsKey("diskEncrypted"));
+ }
+
private void verifyAndRemoveIntegerMetricSum(TestMetric metric, String key, int expected) {
assertEquals(expected, (int) metric.sumNumberValues(key));
metric.remove(key);