summaryrefslogtreecommitdiffstats
path: root/node-maintainer/src/main/java
diff options
context:
space:
mode:
authorOla Aunrønning <olaa@yahoo-inc.com>2017-08-07 16:40:58 +0200
committerOla Aunrønning <olaa@yahoo-inc.com>2017-08-15 12:29:27 +0200
commit055800a4ea5501d6adb4e9d842b720c5547f6240 (patch)
tree73fd415f0484a9b2c3f7e3d913bb783f86e48408 /node-maintainer/src/main/java
parent6b512283fd1e7a315ad652fab2964a2300a0f53b (diff)
Changed how SpecVerification reports. Now creates JSON containing only actual hardware values that are different from node repo
Diffstat (limited to 'node-maintainer/src/main/java')
-rw-r--r--node-maintainer/src/main/java/com/yahoo/vespa/hosted/node/verification/spec/HardwareNodeComparator.java47
-rw-r--r--node-maintainer/src/main/java/com/yahoo/vespa/hosted/node/verification/spec/SpecVerifier.java8
-rw-r--r--node-maintainer/src/main/java/com/yahoo/vespa/hosted/node/verification/spec/VerifierSettings.java12
-rw-r--r--node-maintainer/src/main/java/com/yahoo/vespa/hosted/node/verification/spec/report/VerificationReport.java6
-rw-r--r--node-maintainer/src/main/java/com/yahoo/vespa/hosted/node/verification/spec/retrievers/NetRetriever.java2
5 files changed, 18 insertions, 57 deletions
diff --git a/node-maintainer/src/main/java/com/yahoo/vespa/hosted/node/verification/spec/HardwareNodeComparator.java b/node-maintainer/src/main/java/com/yahoo/vespa/hosted/node/verification/spec/HardwareNodeComparator.java
index 2fba6cd1f2a..99942611e60 100644
--- a/node-maintainer/src/main/java/com/yahoo/vespa/hosted/node/verification/spec/HardwareNodeComparator.java
+++ b/node-maintainer/src/main/java/com/yahoo/vespa/hosted/node/verification/spec/HardwareNodeComparator.java
@@ -32,7 +32,7 @@ public class HardwareNodeComparator {
private static void setMemoryMetrics(HardwareInfo nodeRepoHardwareInfo, HardwareInfo actualHardware, VerificationReport verificationReport) {
double expectedMemory = nodeRepoHardwareInfo.getMinMainMemoryAvailableGb();
double actualMemory = actualHardware.getMinMainMemoryAvailableGb();
- if (outsideThreshold(expectedMemory, actualMemory, PERCENTAGE_THRESHOLD)) {
+ if (!insideThreshold(expectedMemory, actualMemory, PERCENTAGE_THRESHOLD)) {
verificationReport.setActualMemoryAvailable(actualMemory);
}
}
@@ -56,7 +56,7 @@ public class HardwareNodeComparator {
private static void setDiskSpaceMetrics(HardwareInfo nodeRepoHardwareInfo, HardwareInfo actualHardware, VerificationReport verificationReport) {
double expectedDiskSpace = nodeRepoHardwareInfo.getMinDiskAvailableGb();
double actualDiskSpace = actualHardware.getMinDiskAvailableGb();
- if (outsideThreshold(expectedDiskSpace, actualDiskSpace, PERCENTAGE_THRESHOLD)) {
+ if (!insideThreshold(expectedDiskSpace, actualDiskSpace, PERCENTAGE_THRESHOLD)) {
verificationReport.setActualDiskSpaceAvailable(actualDiskSpace);
}
}
@@ -64,48 +64,15 @@ public class HardwareNodeComparator {
private static void setNetMetrics(HardwareInfo nodeRepoHardwareInfo, HardwareInfo actualHardware, VerificationReport verificationReport) {
double expectedInterfaceSpeed = nodeRepoHardwareInfo.getInterfaceSpeedMbs();
double actualInterfaceSpeed = actualHardware.getInterfaceSpeedMbs();
- if (nodeRepoHardwareInfo.getInterfaceSpeedMbs() > actualHardware.getInterfaceSpeedMbs()) {
- specReportMetrics.setExpectedInterfaceSpeed(expectedInterfaceSpeed);
- specReportMetrics.setActualInterfaceSpeed(actualInterfaceSpeed);
+ if (expectedInterfaceSpeed > actualInterfaceSpeed) {
+ verificationReport.setActualInterfaceSpeed(actualInterfaceSpeed);
}
- if (nodeRepoHardwareInfo.isIpv6Connection() != actualHardware.isIpv6Connection()) {
- specReportMetrics.setActualIpv6Connection(actualHardware.isIpv6Connection());
- specReportMetrics.setExpectedIpv6Connection(nodeRepoHardwareInfo.isIpv6Connection());
+ if (nodeRepoHardwareInfo.isIpv6Connection() && !actualHardware.isIpv6Connection()) {
+ verificationReport.setActualIpv6Connection(actualHardware.isIpv6Connection());
}
- private static boolean compareCPU(HardwareInfo nodeRepoHardwareInfo, HardwareInfo actualHardware, SpecReportDimensions specReportDimensions) {
- boolean equalCPU = nodeRepoHardwareInfo.getMinCpuCores() == actualHardware.getMinCpuCores();
- specReportDimensions.setCpuCoresMatch(equalCPU);
- return equalCPU;
- }
-
- private static boolean compareMemory(HardwareInfo nodeRepoHardwareInfo, HardwareInfo actualHardware, SpecReportDimensions specReportDimensions) {
- boolean equalMemory = insideThreshold(nodeRepoHardwareInfo.getMinMainMemoryAvailableGb(), actualHardware.getMinMainMemoryAvailableGb(), PERCENTAGE_THRESHOLD);
- specReportDimensions.setMemoryMatch(equalMemory);
- return equalMemory;
- }
-
- private static boolean compareNetInterface(HardwareInfo nodeRepoHardwareInfo, HardwareInfo actualHardware, SpecReportDimensions specReportDimensions) {
- boolean equalNetInterfaceSpeed = nodeRepoHardwareInfo.getInterfaceSpeedMbs() <= actualHardware.getInterfaceSpeedMbs();
- boolean equalIpv6Interface = !nodeRepoHardwareInfo.getIpv6Interface() || actualHardware.getIpv6Interface();
- boolean equalIpv4Interface = !nodeRepoHardwareInfo.getIpv4Interface() || actualHardware.getIpv4Interface();
- boolean equalIpv6Connection = !nodeRepoHardwareInfo.isIpv6Connection() || actualHardware.isIpv6Connection();
- specReportDimensions.setNetInterfaceSpeedMatch(equalNetInterfaceSpeed);
- specReportDimensions.setIpv6Match(equalIpv6Interface);
- specReportDimensions.setIpv4Match(equalIpv4Interface);
- return equalIpv4Interface && equalIpv6Connection && equalNetInterfaceSpeed && equalIpv6Interface;
- }
-
- private static boolean compareDisk(HardwareInfo nodeRepoHardwareInfo, HardwareInfo actualHardware, SpecReportDimensions specReportDimensions) {
- boolean equalDiskType = nodeRepoHardwareInfo.getDiskType() == actualHardware.getDiskType();
- boolean equalDiskSize = insideThreshold(nodeRepoHardwareInfo.getMinDiskAvailableGb(), actualHardware.getMinDiskAvailableGb(), PERCENTAGE_THRESHOLD);
- specReportDimensions.setDiskTypeMatch(equalDiskType);
- specReportDimensions.setDiskAvailableMatch(equalDiskSize);
- return equalDiskType && equalDiskSize;
- }
-
- private static boolean outsideThreshold(double value1, double value2 , double thresholdPercentage) {
+ private static boolean insideThreshold(double value1, double value2 , double thresholdPercentage) {
double lowerThresholdPercentage = 1 - thresholdPercentage;
double upperThresholdPercentage = 1 + thresholdPercentage;
return value1 < lowerThresholdPercentage * value2 || value1 > upperThresholdPercentage * value2;
diff --git a/node-maintainer/src/main/java/com/yahoo/vespa/hosted/node/verification/spec/SpecVerifier.java b/node-maintainer/src/main/java/com/yahoo/vespa/hosted/node/verification/spec/SpecVerifier.java
index 8789fa53d4f..bf5469f3a7c 100644
--- a/node-maintainer/src/main/java/com/yahoo/vespa/hosted/node/verification/spec/SpecVerifier.java
+++ b/node-maintainer/src/main/java/com/yahoo/vespa/hosted/node/verification/spec/SpecVerifier.java
@@ -36,9 +36,9 @@ public class SpecVerifier {
}
VerifierSettings verifierSettings = new VerifierSettings(nodeRepoJsonModel);
HardwareInfo actualHardware = HardwareInfoRetriever.retrieve(commandExecutor, verifierSettings);
- YamasSpecReport yamasSpecReport = makeYamasSpecReport(actualHardware, nodeRepoJsonModel);
- printResults(yamasSpecReport);
- return yamasSpecReport.getMetrics().isMatch();
+ VerificationReport verificationReport = makeVerificationReport(actualHardware, nodeRepoJsonModel);
+ printResults(verificationReport);
+ return isValidSpec(verificationReport);
}
private static boolean isValidSpec(VerificationReport verificationReport) throws JsonProcessingException {
@@ -59,7 +59,7 @@ public class SpecVerifier {
}
private static void printResults(VerificationReport verificationReport) {
- //TODO: Instead of println, report JSON to node repo
+ //TODO: Instead of println, report JSON to YAMAS
ObjectMapper om = new ObjectMapper();
try {
System.out.println(om.writeValueAsString(verificationReport));
diff --git a/node-maintainer/src/main/java/com/yahoo/vespa/hosted/node/verification/spec/VerifierSettings.java b/node-maintainer/src/main/java/com/yahoo/vespa/hosted/node/verification/spec/VerifierSettings.java
index f219546cd31..2ff2e41d9bc 100644
--- a/node-maintainer/src/main/java/com/yahoo/vespa/hosted/node/verification/spec/VerifierSettings.java
+++ b/node-maintainer/src/main/java/com/yahoo/vespa/hosted/node/verification/spec/VerifierSettings.java
@@ -9,23 +9,23 @@ import com.yahoo.vespa.hosted.node.verification.spec.noderepo.NodeRepoJsonModel;
public class VerifierSettings {
- private final boolean ipv6;
+ private final boolean checkIPv6;
public VerifierSettings(){
- this.ipv6 = true;
+ this.checkIPv6 = true;
}
public VerifierSettings(NodeRepoJsonModel nodeRepoJsonModel){
if (nodeRepoJsonModel.getIpv6Address() != null){
- ipv6 = true;
+ checkIPv6 = true;
}
else {
- ipv6 = false;
+ checkIPv6 = false;
}
}
- public boolean isIpv6() {
- return ipv6;
+ public boolean isCheckIPv6() {
+ return checkIPv6;
}
}
diff --git a/node-maintainer/src/main/java/com/yahoo/vespa/hosted/node/verification/spec/report/VerificationReport.java b/node-maintainer/src/main/java/com/yahoo/vespa/hosted/node/verification/spec/report/VerificationReport.java
index ede4b0fc73a..66ac99dd065 100644
--- a/node-maintainer/src/main/java/com/yahoo/vespa/hosted/node/verification/spec/report/VerificationReport.java
+++ b/node-maintainer/src/main/java/com/yahoo/vespa/hosted/node/verification/spec/report/VerificationReport.java
@@ -4,12 +4,6 @@ import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.yahoo.vespa.hosted.node.verification.spec.retrievers.HardwareInfo;
-
-/**
- * Stores results of caomparing node repo spec and actual hardware info.
- * In case of divergent values, set the corresponding attribute to the actual hardware info value.
- * Attributes of equal value remain null.
- */
@JsonInclude(JsonInclude.Include.NON_NULL)
public class VerificationReport {
diff --git a/node-maintainer/src/main/java/com/yahoo/vespa/hosted/node/verification/spec/retrievers/NetRetriever.java b/node-maintainer/src/main/java/com/yahoo/vespa/hosted/node/verification/spec/retrievers/NetRetriever.java
index 33b9ba722e7..85bd585d595 100644
--- a/node-maintainer/src/main/java/com/yahoo/vespa/hosted/node/verification/spec/retrievers/NetRetriever.java
+++ b/node-maintainer/src/main/java/com/yahoo/vespa/hosted/node/verification/spec/retrievers/NetRetriever.java
@@ -50,7 +50,7 @@ public class NetRetriever implements HardwareRetriever {
public void updateInfo() {
ArrayList<ParseResult> parseResults = findInterface();
findInterfaceSpeed(parseResults);
- if (verifierSettings.isIpv6()) {
+ if (verifierSettings.isCheckIPv6()) {
testPingResponse(parseResults);
}
updateHardwareInfoWithNet(parseResults);