diff options
author | Martin Polden <martin.polden@gmail.com> | 2017-03-01 15:36:45 +0100 |
---|---|---|
committer | Martin Polden <martin.polden@gmail.com> | 2017-03-06 11:21:05 +0100 |
commit | 67ab67b45db2093eac693b89ced3483ee367c1da (patch) | |
tree | f90f56aa74f9f79ace550df005e03f9bf4809aa8 /node-repository | |
parent | 7e381c83be56c0975f1fc98a84b044afb614e201 (diff) |
Add want to retire flag to REST API
Diffstat (limited to 'node-repository')
20 files changed, 26 insertions, 39 deletions
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 10adbfe1ee8..06db8c869ff 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 @@ -83,6 +83,8 @@ public class NodePatcher { return node.withParentHostname(asString(value)); case "ipAddresses" : return node.withIpAddresses(asStringSet(value)); + case "wantToRetire" : + return node.with(node.status().withWantToRetire(asBoolean(value))); default : throw new IllegalArgumentException("Could not apply field '" + name + "' on a node: No such modifiable field"); } 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 ae77b95c40c..ceef5c7bf1f 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 @@ -19,7 +19,6 @@ import java.io.IOException; import java.io.OutputStream; import java.net.URI; import java.util.List; -import java.util.Optional; /** * @author bratseth @@ -171,6 +170,7 @@ class NodesResponse extends HttpResponse { object.setLong("failCount", node.status().failCount()); object.setBool("hardwareFailure", node.status().hardwareFailure().isPresent()); node.status().hardwareFailure().ifPresent(failure -> object.setString("hardwareFailureType", toString(failure))); + object.setBool("wantToRetire", node.status().wantToRetire()); 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 fa2a5150b4a..5393c1311c9 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 @@ -167,6 +167,9 @@ public class RestApiTest { assertResponse(new Request("http://localhost:8080/nodes/v2/node/host4.yahoo.com", Utf8.toBytes("{\"ipAddresses\": [\"127.0.0.1\",\"::1\"]}"), Request.Method.PATCH), "{\"message\":\"Updated host4.yahoo.com\"}"); + assertResponse(new Request("http://localhost:8080/nodes/v2/node/host4.yahoo.com", + Utf8.toBytes("{\"wantToRetire\": true}"), Request.Method.PATCH), + "{\"message\":\"Updated host4.yahoo.com\"}"); assertFile(new Request("http://localhost:8080/nodes/v2/node/host4.yahoo.com"), "node4-after-changes.json"); } diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/host1.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/host1.json deleted file mode 100644 index 7a0d8962d71..00000000000 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/host1.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "url": "http://localhost:8080/nodes/v2/node/parent1.yahoo.com", - "id": "parent1.yahoo.com", - "state": "active", - "type": "host", - "hostname": "parent1.yahoo.com", - "openStackId": "what", - "flavor": "default", - "canonicalFlavor": "default", - "minDiskAvailableGb":400.0, - "minMainMemoryAvailableGb":16.0, - "description":"Host node", - "minCpuCores":2.0, - "environment":"BARE_METAL", - "owner": { - "tenant": "tenant3", - "application": "application3", - "instance": "instance3" - }, - "membership": { - "clustertype": "content", - "clusterid": "id3", - "group": "0", - "index": 1, - "retired": false - }, - "restartGeneration": 0, - "currentRestartGeneration": 0, - "rebootGeneration": 0, - "currentRebootGeneration": 0, - "failCount": 0, - "hardwareFailure" : false, - "history":[{"event":"readied","at":123},{"event":"reserved","at":123},{"event":"activated","at":123}] -} 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 df80e8ff311..710d8087ca5 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 @@ -30,5 +30,6 @@ "currentRebootGeneration": 0, "failCount": 0, "hardwareFailure" : false, + "wantToRetire" : false, "history":[{"event":"readied","at":123},{"event":"reserved","at":123},{"event":"activated","at":123}] } 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 9ff5d52b9fe..51b41825cb6 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 @@ -35,5 +35,6 @@ "convergedStateVersion": "5.104.142-2.1.2408", "failCount": 0, "hardwareFailure" : false, + "wantToRetire" : false, "history":[{"event":"readied","at":123},{"event":"reserved","at":123}] } 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 5ab859d5184..fe5f226396c 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,5 +17,6 @@ "currentRebootGeneration":0, "failCount":0, "hardwareFailure":false, + "wantToRetire":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 0e8f36e652d..b51ccdd20fb 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 @@ -30,5 +30,6 @@ "currentRebootGeneration": 0, "failCount": 0, "hardwareFailure" : false, + "wantToRetire" : false, "history":[{"event":"readied","at":123},{"event":"reserved","at":123},{"event":"activated","at":123}] } 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 83b82a0a0da..cea356f6c30 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 @@ -28,5 +28,6 @@ "currentRebootGeneration": 0, "failCount": 0, "hardwareFailure" : false, + "wantToRetire" : false, "history":[{"event":"readied","at":123},{"event":"reserved","at":123},{"event":"activated","at":123}] } 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 eba522bb527..6b8bc90af18 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 @@ -37,6 +37,7 @@ "failCount": 0, "hardwareFailure": true, "hardwareFailureType": "memory_mcelog", + "wantToRetire" : true, "history": [ { "event": "readied", 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 4df8115df68..d4782435282 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 @@ -33,5 +33,6 @@ "currentDockerImage":"image-12", "failCount": 0, "hardwareFailure" : false, + "wantToRetire" : false, "history":[{"event":"readied","at":123},{"event":"reserved","at":123}] } 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 488bdd10c46..58f8a2022a0 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 @@ -16,6 +16,7 @@ "rebootGeneration": 1, "currentRebootGeneration": 0, "failCount": 1, - "hardwareFailure" : false, + "hardwareFailure": false, + "wantToRetire": false, "history":[{"event":"readied","at":123},{"event":"failed","at":123}] } 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 c103a52360c..d25e5270ef3 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,5 +19,6 @@ "currentDockerImage":"image-123", "failCount": 1, "hardwareFailure" : false, + "wantToRetire" : false, "history":[{"event":"readied","at":123},{"event":"failed","at":123}] } 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 4ac549b5cec..972b82db5c3 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,5 +16,6 @@ "currentRebootGeneration": 0, "failCount": 0, "hardwareFailure" : false, + "wantToRetire" : false, "history":[{"event":"deallocated","at":123}] } 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 b146ccac8d1..d37fe7d1783 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 @@ -30,5 +30,6 @@ "currentRebootGeneration": 0, "failCount": 0, "hardwareFailure" : false, + "wantToRetire" : false, "history":[{"event":"readied","at":123},{"event":"reserved","at":123},{"event":"activated","at":123}] } 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 ed537cdaf35..a63ff1632d2 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,5 +16,6 @@ "currentRebootGeneration": 0, "failCount": 0, "hardwareFailure" : false, + "wantToRetire" : 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 178a16e055c..925632b5a64 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,5 +16,6 @@ "currentRebootGeneration": 0, "failCount": 0, "hardwareFailure" : false, + "wantToRetire" : false, "history":[] -}
\ No newline at end of file +} 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 62efce133c7..27f2ff08d90 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,5 +16,6 @@ "currentRebootGeneration": 0, "failCount": 0, "hardwareFailure" : false, + "wantToRetire" : false, "history":[] -}
\ No newline at end of file +} 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 d864e207897..6e647f5e57d 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,6 +16,7 @@ "currentRebootGeneration": 0, "failCount": 0, "hardwareFailure": false, + "wantToRetire" : false, "history": [ { "event": "readied", 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 833156d45f7..862978a436c 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,5 +16,6 @@ "currentRebootGeneration": 0, "failCount": 0, "hardwareFailure": false, + "wantToRetire" : false, "history": [] -}
\ No newline at end of file +} |