diff options
author | Ola Aunrønning <olaa@yahoo-inc.com> | 2017-08-07 13:21:21 +0200 |
---|---|---|
committer | Ola Aunrønning <olaa@yahoo-inc.com> | 2017-08-15 12:29:25 +0200 |
commit | 37a5182eac38c97cc29a91dcb37d083c2404c6ba (patch) | |
tree | d63afa487765e32836966110077450e862c1dd5b /node-maintainer/src | |
parent | d1d8f82a398371483a0ba4634215f255acc6b78e (diff) |
Changed how net interface and connection is compared. No longer cares if node repo says shouldn't have interface, even though it actually has
Diffstat (limited to 'node-maintainer/src')
-rw-r--r-- | node-maintainer/src/main/java/com/yahoo/vespa/hosted/node/verification/spec/HardwareNodeComparator.java | 40 |
1 files changed, 36 insertions, 4 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 6788419898c..2fba6cd1f2a 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 @@ -64,13 +64,45 @@ public class HardwareNodeComparator { private static void setNetMetrics(HardwareInfo nodeRepoHardwareInfo, HardwareInfo actualHardware, VerificationReport verificationReport) { double expectedInterfaceSpeed = nodeRepoHardwareInfo.getInterfaceSpeedMbs(); double actualInterfaceSpeed = actualHardware.getInterfaceSpeedMbs(); - if (expectedInterfaceSpeed > actualInterfaceSpeed) { - verificationReport.setActualInterfaceSpeed(actualInterfaceSpeed); + if (nodeRepoHardwareInfo.getInterfaceSpeedMbs() > actualHardware.getInterfaceSpeedMbs()) { + specReportMetrics.setExpectedInterfaceSpeed(expectedInterfaceSpeed); + specReportMetrics.setActualInterfaceSpeed(actualInterfaceSpeed); } - if (nodeRepoHardwareInfo.isIpv6Connection() && !actualHardware.isIpv6Connection()) { - verificationReport.setActualIpv6Connection(actualHardware.isIpv6Connection()); + if (nodeRepoHardwareInfo.isIpv6Connection() != actualHardware.isIpv6Connection()) { + specReportMetrics.setActualIpv6Connection(actualHardware.isIpv6Connection()); + specReportMetrics.setExpectedIpv6Connection(nodeRepoHardwareInfo.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) { |