summaryrefslogtreecommitdiffstats
path: root/node-repository
diff options
context:
space:
mode:
authorValerij Fredriksen <valerijf@verizonmedia.com>2019-09-17 22:11:20 +0200
committerValerij Fredriksen <valerijf@verizonmedia.com>2019-09-19 15:33:30 +0200
commit999f97a0b8b9fe1730062c1989907e262d3a6609 (patch)
tree3918178f6ee19a9c1086645c88c47fd25459692e /node-repository
parent5bc9c638ec0f8411453940a622445fc599e3ad14 (diff)
Remove hardwareFailure from node-repository REST API
Diffstat (limited to 'node-repository')
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/NodeRepository.java3
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/v2/NodePatcher.java4
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/v2/NodesResponse.java2
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/RestApiTest.java62
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/cfg1.json1
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/cfg2.json1
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/controller1.json1
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/docker-container1.json1
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/docker-node1-os-upgrade-complete.json1
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/docker-node1-os-upgrade.json1
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/docker-node1.json1
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/docker-node2.json1
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/docker-node3.json1
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/docker-node4.json1
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/docker-node5.json1
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/dockerhost1-with-firmware-data.json1
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node1.json1
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node10.json1
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node11.json1
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node13.json1
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node14.json1
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node2.json1
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node3.json1
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node4-after-changes.json2
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node4.json1
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node5-after-changes.json1
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node5.json1
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node55.json1
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node6-after-changes.json1
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node6-reports-2.json1
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node6-reports-3.json1
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node6-reports.json1
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node6.json1
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node7.json1
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node8.json1
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node9.json1
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/parent1.json1
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/parent2.json1
38 files changed, 7 insertions, 99 deletions
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/NodeRepository.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/NodeRepository.java
index 3895e70376a..dfd190b14f5 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/NodeRepository.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/NodeRepository.java
@@ -433,9 +433,6 @@ public class NodeRepository extends AbstractComponent {
* @throws IllegalArgumentException if the node has hardware failure
*/
public Node setDirty(Node node, Agent agent, String reason) {
- if (node.status().hardwareFailureDescription().isPresent())
- throw new IllegalArgumentException("Could not deallocate " + node.hostname() + ": It has a hardware failure");
-
return db.writeTo(Node.State.dirty, node, agent, Optional.of(reason));
}
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/v2/NodePatcher.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/v2/NodePatcher.java
index c46cdb11c10..ff53c58d136 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/v2/NodePatcher.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/v2/NodePatcher.java
@@ -41,7 +41,6 @@ import static com.yahoo.config.provision.NodeResources.DiskSpeed.slow;
*/
public class NodePatcher {
- private static final String HARDWARE_FAILURE_DESCRIPTION = "hardwareFailureDescription";
private static final String WANT_TO_RETIRE = "wantToRetire";
private static final String WANT_TO_DEPROVISION = "wantToDeprovision";
@@ -96,7 +95,6 @@ public class NodePatcher {
private List<Node> applyFieldRecursive(List<Node> childNodes, String name, Inspector value) {
switch (name) {
- case HARDWARE_FAILURE_DESCRIPTION:
case WANT_TO_RETIRE:
case WANT_TO_DEPROVISION:
return childNodes.stream()
@@ -129,8 +127,6 @@ public class NodePatcher {
return node.with(node.status().setFailCount(asLong(value).intValue()));
case "flavor" :
return node.with(nodeFlavors.getFlavorOrThrow(asString(value)));
- case HARDWARE_FAILURE_DESCRIPTION:
- return node.with(node.status().withHardwareFailureDescription(removeQuotedNulls(asOptionalString(value))));
case "parentHostname" :
return node.withParentHostname(asString(value));
case "ipAddresses" :
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/v2/NodesResponse.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/v2/NodesResponse.java
index e1e21268ac4..969e64e5993 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/v2/NodesResponse.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/v2/NodesResponse.java
@@ -180,8 +180,6 @@ class NodesResponse extends HttpResponse {
node.status().vespaVersion().ifPresent(version -> object.setString("vespaVersion", version.toFullString()));
currentDockerImage(node).ifPresent(dockerImage -> object.setString("currentDockerImage", dockerImage.asString()));
object.setLong("failCount", node.status().failCount());
- object.setBool("hardwareFailure", node.status().hardwareFailureDescription().isPresent());
- node.status().hardwareFailureDescription().ifPresent(failure -> object.setString("hardwareFailureDescription", failure));
object.setBool("wantToRetire", node.status().wantToRetire());
object.setBool("wantToDeprovision", node.status().wantToDeprovision());
toSlime(node.history(), object.setArray("history"));
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/RestApiTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/RestApiTest.java
index fa2ddc841cb..7cc638a8263 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/RestApiTest.java
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/RestApiTest.java
@@ -7,10 +7,7 @@ import com.yahoo.application.container.handler.Request;
import com.yahoo.application.container.handler.Response;
import com.yahoo.config.provision.NodeType;
import com.yahoo.io.IOUtils;
-import com.yahoo.slime.Cursor;
-import com.yahoo.slime.Slime;
import com.yahoo.text.Utf8;
-import com.yahoo.vespa.config.SlimeUtils;
import com.yahoo.vespa.hosted.provision.testutils.ContainerConfig;
import org.junit.After;
import org.junit.Before;
@@ -19,7 +16,6 @@ import org.junit.Test;
import java.io.File;
import java.io.IOException;
-import java.nio.charset.CharacterCodingException;
import java.nio.charset.StandardCharsets;
import java.util.Arrays;
import java.util.List;
@@ -205,9 +201,6 @@ public class RestApiTest {
Utf8.toBytes("{\"currentVespaVersion\": \"5.104.142\"}"), Request.Method.PATCH),
"{\"message\":\"Updated host4.yahoo.com\"}");
assertResponse(new Request("http://localhost:8080/nodes/v2/node/host4.yahoo.com",
- Utf8.toBytes("{\"hardwareFailureDescription\": \"memory_mcelog\"}"), Request.Method.PATCH),
- "{\"message\":\"Updated host4.yahoo.com\"}");
- assertResponse(new Request("http://localhost:8080/nodes/v2/node/host4.yahoo.com",
Utf8.toBytes("{\"parentHostname\": \"parent.yahoo.com\"}"), Request.Method.PATCH),
"{\"message\":\"Updated host4.yahoo.com\"}");
assertResponse(new Request("http://localhost:8080/nodes/v2/node/host4.yahoo.com",
@@ -346,22 +339,21 @@ public class RestApiTest {
}
@Test
- public void fails_to_deallocate_node_with_hardware_failure() throws Exception {
+ public void fails_to_ready_node_with_hard_fail() throws Exception {
assertResponse(new Request("http://localhost:8080/nodes/v2/node",
("[" + asNodeJson("host12.yahoo.com", "default") + "]").
getBytes(StandardCharsets.UTF_8),
Request.Method.POST),
"{\"message\":\"Added 1 nodes to the provisioned state\"}");
+ String msg = "Actual disk space (2TB) differs from spec (3TB)";
assertResponse(new Request("http://localhost:8080/nodes/v2/node/host12.yahoo.com",
- Utf8.toBytes("{\"hardwareFailureDescription\": \"memory_mcelog\"}"),
+ Utf8.toBytes("{\"reports\":{\"diskSpace\":{\"createdMillis\":2,\"description\":\"" + msg + "\",\"type\": \"HARD_FAIL\"}}}"),
Request.Method.PATCH),
"{\"message\":\"Updated host12.yahoo.com\"}");
- assertResponse(new Request("http://localhost:8080/nodes/v2/state/failed/host12.yahoo.com",
- new byte[0], Request.Method.PUT),
- "{\"message\":\"Moved host12.yahoo.com to failed\"}");
- assertResponse(new Request("http://localhost:8080/nodes/v2/state/dirty/host12.yahoo.com",
- new byte[0], Request.Method.PUT), 400,
- "{\"error-code\":\"BAD_REQUEST\",\"message\":\"Could not deallocate host12.yahoo.com: It has a hardware failure\"}");
+ assertResponse(new Request("http://localhost:8080/nodes/v2/state/ready/host12.yahoo.com", new byte[0], Request.Method.PUT),
+ 400,
+ "{\"error-code\":\"BAD_REQUEST\",\"message\":\"Node host12.yahoo.com cannot be readied because it has " +
+ "hard failures: [diskSpace reported 1970-01-01T00:00:00.002Z: " + msg + "]\"}");
}
@Test
@@ -497,7 +489,6 @@ public class RestApiTest {
"\"currentRebootGeneration\": 3," +
"\"flavor\": \"medium-disk\"," +
"\"currentVespaVersion\": \"5.104.142\"," +
- "\"hardwareFailureDescription\": \"memory_mcelog\"," +
"\"failCount\": 0," +
"\"parentHostname\": \"parent.yahoo.com\"" +
"}"
@@ -517,28 +508,6 @@ public class RestApiTest {
}
@Test
- public void test_hardware_patching_of_docker_host() throws Exception {
- assertHardwareFailure(new Request("http://localhost:8080/nodes/v2/node/host5.yahoo.com"), false);
- assertHardwareFailure(new Request("http://localhost:8080/nodes/v2/node/dockerhost2.yahoo.com"), false);
-
- assertResponse(new Request("http://localhost:8080/nodes/v2/node/dockerhost2.yahoo.com",
- Utf8.toBytes("{\"hardwareFailureDescription\": \"memory_mcelog\"}"),
- Request.Method.PATCH),
- "{\"message\":\"Updated dockerhost2.yahoo.com\"}");
-
- assertHardwareFailure(new Request("http://localhost:8080/nodes/v2/node/host5.yahoo.com"), true);
- assertHardwareFailure(new Request("http://localhost:8080/nodes/v2/node/dockerhost2.yahoo.com"), true);
-
- assertResponse(new Request("http://localhost:8080/nodes/v2/node/dockerhost2.yahoo.com",
- Utf8.toBytes("{\"hardwareFailureDescription\": \"null\"}"),
- Request.Method.PATCH),
- "{\"message\":\"Updated dockerhost2.yahoo.com\"}");
-
- assertHardwareFailure(new Request("http://localhost:8080/nodes/v2/node/host5.yahoo.com"), false);
- assertHardwareFailure(new Request("http://localhost:8080/nodes/v2/node/dockerhost2.yahoo.com"), false);
- }
-
- @Test
public void test_node_patch_to_remove_docker_ready_fields() throws Exception {
assertResponse(new Request("http://localhost:8080/nodes/v2/node/host5.yahoo.com",
Utf8.toBytes("{" +
@@ -983,23 +952,6 @@ public class RestApiTest {
"],";
}
- private static boolean getHardwareFailure(String json) {
- Slime slime = SlimeUtils.jsonToSlime(json.getBytes());
- Cursor hardwareFailure = slime.get().field("hardwareFailure");
- if (!hardwareFailure.valid())
- throw new IllegalStateException("hardwareFailure is invalid");
-
- return hardwareFailure.asBool();
- }
-
- private void assertHardwareFailure(Request request, boolean expectedHardwareFailure) throws CharacterCodingException {
- Response response = container.handleRequest(request);
- String json = response.getBodyAsString();
- boolean actualHardwareFailure = getHardwareFailure(json);
- assertEquals(expectedHardwareFailure, actualHardwareFailure);
- assertEquals(200, response.getStatus());
- }
-
/** Asserts a particular response and 200 as response status */
private void assertResponse(Request request, String responseMessage) throws IOException {
assertResponse(request, 200, responseMessage);
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/cfg1.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/cfg1.json
index 58e65e65486..ba9467edb19 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/cfg1.json
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/cfg1.json
@@ -16,7 +16,6 @@
"rebootGeneration": 1,
"currentRebootGeneration": 0,
"failCount": 0,
- "hardwareFailure": false,
"wantToRetire": false,
"wantToDeprovision": false,
"history": [
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/cfg2.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/cfg2.json
index e5935753bce..aff38ae5403 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/cfg2.json
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/cfg2.json
@@ -16,7 +16,6 @@
"rebootGeneration": 1,
"currentRebootGeneration": 0,
"failCount": 0,
- "hardwareFailure": false,
"wantToRetire": false,
"wantToDeprovision": false,
"history": [
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/controller1.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/controller1.json
index ea2dbe960ae..511853d980c 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/controller1.json
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/controller1.json
@@ -16,7 +16,6 @@
"rebootGeneration": 0,
"currentRebootGeneration": 0,
"failCount": 0,
- "hardwareFailure": false,
"wantToRetire": false,
"wantToDeprovision": false,
"history": [
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/docker-container1.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/docker-container1.json
index 79ea6dffeb4..3fd38118e91 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/docker-container1.json
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/docker-container1.json
@@ -34,7 +34,6 @@
"rebootGeneration": 0,
"currentRebootGeneration": 0,
"failCount": 0,
- "hardwareFailure": false,
"wantToRetire": false,
"wantToDeprovision": false,
"history": [
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/docker-node1-os-upgrade-complete.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/docker-node1-os-upgrade-complete.json
index 61a78305a74..f5068924084 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/docker-node1-os-upgrade-complete.json
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/docker-node1-os-upgrade-complete.json
@@ -35,7 +35,6 @@
"currentOsVersion": "7.5.2",
"wantedOsVersion": "7.5.2",
"failCount": 0,
- "hardwareFailure": false,
"wantToRetire": false,
"wantToDeprovision": false,
"history": [
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/docker-node1-os-upgrade.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/docker-node1-os-upgrade.json
index 61a78305a74..f5068924084 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/docker-node1-os-upgrade.json
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/docker-node1-os-upgrade.json
@@ -35,7 +35,6 @@
"currentOsVersion": "7.5.2",
"wantedOsVersion": "7.5.2",
"failCount": 0,
- "hardwareFailure": false,
"wantToRetire": false,
"wantToDeprovision": false,
"history": [
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/docker-node1.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/docker-node1.json
index a0fd9be9525..8aeb3f844ef 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/docker-node1.json
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/docker-node1.json
@@ -33,7 +33,6 @@
"rebootGeneration": 0,
"currentRebootGeneration": 0,
"failCount": 0,
- "hardwareFailure": false,
"wantToRetire": false,
"wantToDeprovision": false,
"history": [
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/docker-node2.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/docker-node2.json
index 2aa8a7fac8c..a7e9292396c 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/docker-node2.json
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/docker-node2.json
@@ -33,7 +33,6 @@
"rebootGeneration": 0,
"currentRebootGeneration": 0,
"failCount": 0,
- "hardwareFailure": false,
"wantToRetire": false,
"wantToDeprovision": false,
"history": [
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/docker-node3.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/docker-node3.json
index 295346c0645..60825d0925f 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/docker-node3.json
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/docker-node3.json
@@ -33,7 +33,6 @@
"rebootGeneration": 0,
"currentRebootGeneration": 0,
"failCount": 0,
- "hardwareFailure": false,
"wantToRetire": false,
"wantToDeprovision": false,
"history": [
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/docker-node4.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/docker-node4.json
index d664fd51981..b669bad3704 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/docker-node4.json
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/docker-node4.json
@@ -33,7 +33,6 @@
"rebootGeneration": 0,
"currentRebootGeneration": 0,
"failCount": 0,
- "hardwareFailure": false,
"wantToRetire": false,
"wantToDeprovision": false,
"history": [
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/docker-node5.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/docker-node5.json
index aea430bf33e..ba6f02efb21 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/docker-node5.json
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/docker-node5.json
@@ -33,7 +33,6 @@
"rebootGeneration": 0,
"currentRebootGeneration": 0,
"failCount": 0,
- "hardwareFailure": false,
"wantToRetire": false,
"wantToDeprovision": false,
"history": [
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/dockerhost1-with-firmware-data.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/dockerhost1-with-firmware-data.json
index 7343899a854..53982c78042 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/dockerhost1-with-firmware-data.json
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/dockerhost1-with-firmware-data.json
@@ -35,7 +35,6 @@
"currentFirmwareCheck": 100,
"wantedFirmwareCheck": 123,
"failCount": 0,
- "hardwareFailure": false,
"wantToRetire": false,
"wantToDeprovision": false,
"history": [
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node1.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node1.json
index d4edbe26f92..a291c10e540 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node1.json
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node1.json
@@ -33,7 +33,6 @@
"rebootGeneration": 1,
"currentRebootGeneration": 0,
"failCount": 0,
- "hardwareFailure": false,
"wantToRetire": false,
"wantToDeprovision": false,
"history": [
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node10.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node10.json
index 97f41d75272..1f60631296d 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node10.json
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node10.json
@@ -36,7 +36,6 @@
"vespaVersion": "5.104.142",
"currentDockerImage": "docker-registry.domain.tld:8080/dist/vespa:5.104.142",
"failCount": 0,
- "hardwareFailure": false,
"wantToRetire": false,
"wantToDeprovision": false,
"history": [
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node11.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node11.json
index 35023156696..e665da9ade7 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node11.json
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node11.json
@@ -17,7 +17,6 @@
"rebootGeneration": 0,
"currentRebootGeneration": 0,
"failCount": 0,
- "hardwareFailure": false,
"wantToRetire": false,
"wantToDeprovision": false,
"history": [
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node13.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node13.json
index 6a2679bbafe..7cf66c97603 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node13.json
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node13.json
@@ -33,7 +33,6 @@
"rebootGeneration": 0,
"currentRebootGeneration": 0,
"failCount": 0,
- "hardwareFailure": false,
"wantToRetire": false,
"wantToDeprovision": false,
"history": [
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node14.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node14.json
index 7d31a2cd505..4235ad5ad03 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node14.json
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node14.json
@@ -33,7 +33,6 @@
"rebootGeneration": 0,
"currentRebootGeneration": 0,
"failCount": 0,
- "hardwareFailure": false,
"wantToRetire": false,
"wantToDeprovision": false,
"history": [
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node2.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node2.json
index 3502621e9dd..0bd3df05449 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node2.json
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node2.json
@@ -33,7 +33,6 @@
"rebootGeneration": 1,
"currentRebootGeneration": 0,
"failCount": 0,
- "hardwareFailure": false,
"wantToRetire": false,
"wantToDeprovision": false,
"history": [
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node3.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node3.json
index 82f3c6b6f79..351432510e0 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node3.json
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node3.json
@@ -16,7 +16,6 @@
"rebootGeneration": 1,
"currentRebootGeneration": 0,
"failCount": 0,
- "hardwareFailure": false,
"wantToRetire": false,
"wantToDeprovision": false,
"history": [
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node4-after-changes.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node4-after-changes.json
index c1009b0e223..fe0484e31ba 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node4-after-changes.json
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node4-after-changes.json
@@ -36,8 +36,6 @@
"vespaVersion": "6.43.0",
"currentDockerImage": "docker-registry.domain.tld:8080/dist/vespa:6.45.0",
"failCount": 1,
- "hardwareFailure": true,
- "hardwareFailureDescription": "memory_mcelog",
"wantToRetire": true,
"wantToDeprovision": true,
"history": [
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node4.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node4.json
index d32149cdac1..ca5b3218bc7 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node4.json
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node4.json
@@ -36,7 +36,6 @@
"vespaVersion": "6.41.0",
"currentDockerImage": "docker-registry.domain.tld:8080/dist/vespa:6.41.0",
"failCount": 0,
- "hardwareFailure": false,
"wantToRetire": false,
"wantToDeprovision": false,
"history": [
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node5-after-changes.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node5-after-changes.json
index 3f1781f7c36..498af3af3fd 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node5-after-changes.json
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node5-after-changes.json
@@ -17,7 +17,6 @@
"rebootGeneration": 1,
"currentRebootGeneration": 0,
"failCount": 1,
- "hardwareFailure": false,
"wantToRetire": false,
"wantToDeprovision": false,
"history": [
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node5.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node5.json
index 62ca45dc540..c3c36e01dff 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node5.json
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node5.json
@@ -19,7 +19,6 @@
"vespaVersion": "1.2.3",
"currentDockerImage": "docker-registry.domain.tld:8080/dist/vespa:1.2.3",
"failCount": 1,
- "hardwareFailure": false,
"wantToRetire": false,
"wantToDeprovision": false,
"history": [
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node55.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node55.json
index a290a9ca927..c3b72737ef5 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node55.json
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node55.json
@@ -16,7 +16,6 @@
"rebootGeneration": 1,
"currentRebootGeneration": 0,
"failCount": 0,
- "hardwareFailure": false,
"wantToRetire": true,
"wantToDeprovision": true,
"history": [
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node6-after-changes.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node6-after-changes.json
index 086dde32236..77d9587222f 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node6-after-changes.json
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node6-after-changes.json
@@ -33,7 +33,6 @@
"rebootGeneration": 1,
"currentRebootGeneration": 0,
"failCount": 0,
- "hardwareFailure": false,
"wantToRetire": false,
"wantToDeprovision": false,
"history": [
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node6-reports-2.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node6-reports-2.json
index 8beb9a73a74..788efb86d6b 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node6-reports-2.json
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node6-reports-2.json
@@ -33,7 +33,6 @@
"rebootGeneration": 1,
"currentRebootGeneration": 0,
"failCount": 0,
- "hardwareFailure": false,
"wantToRetire": false,
"wantToDeprovision": false,
"history": [
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node6-reports-3.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node6-reports-3.json
index cf998111ef8..26de9d1efd6 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node6-reports-3.json
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node6-reports-3.json
@@ -33,7 +33,6 @@
"rebootGeneration": 1,
"currentRebootGeneration": 0,
"failCount": 0,
- "hardwareFailure": false,
"wantToRetire": false,
"wantToDeprovision": false,
"history": [
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node6-reports.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node6-reports.json
index ae38bf20f5b..03db738cd2e 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node6-reports.json
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node6-reports.json
@@ -33,7 +33,6 @@
"rebootGeneration": 1,
"currentRebootGeneration": 0,
"failCount": 0,
- "hardwareFailure": false,
"wantToRetire": false,
"wantToDeprovision": false,
"history": [
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node6.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node6.json
index ce6b8968bf5..6fa1ccdb6fc 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node6.json
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node6.json
@@ -33,7 +33,6 @@
"rebootGeneration": 1,
"currentRebootGeneration": 0,
"failCount": 0,
- "hardwareFailure": false,
"wantToRetire": false,
"wantToDeprovision": false,
"history": [
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node7.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node7.json
index 6fa9e7f1ee0..ef42c5a7960 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node7.json
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node7.json
@@ -16,7 +16,6 @@
"rebootGeneration": 0,
"currentRebootGeneration": 0,
"failCount": 0,
- "hardwareFailure": false,
"wantToRetire": false,
"wantToDeprovision": false,
"history": [
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node8.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node8.json
index 171a80e6dfc..a6e1ced6c2f 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node8.json
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node8.json
@@ -16,7 +16,6 @@
"rebootGeneration": 0,
"currentRebootGeneration": 0,
"failCount": 0,
- "hardwareFailure": false,
"wantToRetire": false,
"wantToDeprovision": false,
"history": [
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node9.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node9.json
index 1660e8c696c..c23f89050bb 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node9.json
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node9.json
@@ -16,7 +16,6 @@
"rebootGeneration": 0,
"currentRebootGeneration": 0,
"failCount": 0,
- "hardwareFailure": false,
"wantToRetire": false,
"wantToDeprovision": false,
"history": [
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/parent1.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/parent1.json
index 88e1bf73227..941062a832e 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/parent1.json
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/parent1.json
@@ -16,7 +16,6 @@
"rebootGeneration": 1,
"currentRebootGeneration": 0,
"failCount": 0,
- "hardwareFailure": false,
"wantToRetire": false,
"wantToDeprovision": false,
"history": [
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/parent2.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/parent2.json
index 9f33b1bdf40..ae4663edb7c 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/parent2.json
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/parent2.json
@@ -16,7 +16,6 @@
"rebootGeneration": 0,
"currentRebootGeneration": 0,
"failCount": 0,
- "hardwareFailure": false,
"wantToRetire": false,
"wantToDeprovision": false,
"history": [