diff options
author | valerijf <valerijf@yahoo-inc.com> | 2017-05-30 09:31:33 +0200 |
---|---|---|
committer | valerijf <valerijf@yahoo-inc.com> | 2017-05-30 09:31:33 +0200 |
commit | 80798a8e57622b84e1901e1435409356ab025459 (patch) | |
tree | 2042a5214e2eb1a3862a09e2b4987eeecead10e7 /node-repository | |
parent | 0dca24d993183dcc9a2b10cbebb79f2a8fa9b618 (diff) |
Expose wantToUnprovision through the REST API
Diffstat (limited to 'node-repository')
19 files changed, 22 insertions, 0 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 fd2bed7374b..23ee2421d4d 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 @@ -87,6 +87,8 @@ public class NodePatcher { return node.withAdditionalIpAddresses(asStringSet(value)); case "wantToRetire" : return node.with(node.status().withWantToRetire(asBoolean(value))); + case "wantToUnprovision" : + return node.with(node.status().withWantToUnprovision(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 f88f7a663f0..d146a7dcaa2 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 @@ -171,6 +171,7 @@ class NodesResponse extends HttpResponse { object.setBool("hardwareFailure", node.status().hardwareFailure().isPresent()); node.status().hardwareFailure().ifPresent(failure -> object.setString("hardwareFailureType", toString(failure))); object.setBool("wantToRetire", node.status().wantToRetire()); + object.setBool("wantToUnprovision", node.status().wantToUnprovision()); toSlime(node.history(), object.setArray("history")); ipAddressesToSlime(node.ipAddresses(), object.setArray("ipAddresses")); ipAddressesToSlime(node.additionalIpAddresses(), object.setArray("additionalIpAddresses")); 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 0285138c9c2..666091b6d87 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 @@ -196,6 +196,9 @@ public class RestApiTest { Utf8.toBytes("{\"wantToRetire\": true}"), Request.Method.PATCH), "{\"message\":\"Updated host4.yahoo.com\"}"); assertResponse(new Request("http://localhost:8080/nodes/v2/node/host4.yahoo.com", + Utf8.toBytes("{\"wantToUnprovision\": true}"), Request.Method.PATCH), + "{\"message\":\"Updated host4.yahoo.com\"}"); + assertResponse(new Request("http://localhost:8080/nodes/v2/node/host4.yahoo.com", Utf8.toBytes("{\"currentDockerImage\": \"ignored-image-name:4443/vespa/ci:6.43.0\"}"), Request.Method.PATCH), "{\"message\":\"Updated host4.yahoo.com\"}"); 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 e812b057953..729ac264f0c 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,6 +33,7 @@ "failCount": 0, "hardwareFailure" : false, "wantToRetire" : false, + "wantToUnprovision" : false, "history":[{"event":"readied","at":123,"agent":"system"},{"event":"reserved","at":123,"agent":"application"},{"event":"activated","at":123,"agent":"application"}], "ipAddresses":["::1", "127.0.0.1"], "additionalIpAddresses":[] 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 a510739a793..4512653a02f 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 @@ -38,6 +38,7 @@ "failCount": 0, "hardwareFailure" : false, "wantToRetire" : false, + "wantToUnprovision" : false, "history":[{"event":"readied","at":123,"agent":"system"},{"event":"reserved","at":123,"agent":"application"}], "ipAddresses":["::1", "127.0.0.1"], "additionalIpAddresses":[] 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 58bbd6f0128..d6529d648f2 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 @@ -18,6 +18,7 @@ "failCount":0, "hardwareFailure":false, "wantToRetire":false, + "wantToUnprovision" : false, "history":[], "ipAddresses":["::1", "127.0.0.1"], "additionalIpAddresses":[] 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 387464324dd..f3c499b61dc 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,6 +33,7 @@ "failCount": 0, "hardwareFailure" : false, "wantToRetire" : false, + "wantToUnprovision" : false, "history":[{"event":"readied","at":123,"agent":"system"},{"event":"reserved","at":123,"agent":"application"},{"event":"activated","at":123,"agent":"application"}], "ipAddresses":["::1", "127.0.0.1"], "additionalIpAddresses":[] 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 65531808404..0096c69d1f3 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 @@ -31,6 +31,7 @@ "failCount": 0, "hardwareFailure" : false, "wantToRetire" : false, + "wantToUnprovision" : false, "history":[{"event":"readied","at":123,"agent":"system"},{"event":"reserved","at":123,"agent":"application"},{"event":"activated","at":123,"agent":"application"}], "ipAddresses":["::1", "127.0.0.1"], "additionalIpAddresses":[] 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 ff6ae96ab50..2be284d2b95 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 @@ -39,6 +39,7 @@ "hardwareFailure": true, "hardwareFailureType": "memory_mcelog", "wantToRetire" : true, + "wantToUnprovision" : 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 65f9ae2866b..10bbce32cbe 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,6 +36,7 @@ "failCount": 0, "hardwareFailure" : false, "wantToRetire" : false, + "wantToUnprovision" : false, "history":[{"event":"readied","at":123,"agent":"system"},{"event":"reserved","at":123,"agent":"application"}], "ipAddresses":["::1", "127.0.0.1"], "additionalIpAddresses":[] 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 1cbb6be6213..702c0f07cc7 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 @@ -18,6 +18,7 @@ "failCount": 1, "hardwareFailure": false, "wantToRetire": false, + "wantToUnprovision" : false, "history":[{"event":"readied","at":123,"agent":"system"},{"event":"failed","at":123,"agent":"system"}], "ipAddresses":["::1", "127.0.0.1"], "additionalIpAddresses":[] 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 495e79787fd..384c6ab3646 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 @@ -20,6 +20,7 @@ "failCount": 1, "hardwareFailure" : false, "wantToRetire" : false, + "wantToUnprovision" : false, "history":[{"event":"readied","at":123,"agent":"system"},{"event":"failed","at":123,"agent":"system"}], "ipAddresses":["::1", "127.0.0.1"], "additionalIpAddresses":[] 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 eb8355626f7..e65dd42ba04 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 @@ -17,6 +17,7 @@ "failCount": 0, "hardwareFailure" : false, "wantToRetire" : false, + "wantToUnprovision" : false, "history":[{"event":"deallocated","at":123,"agent":"system"}], "ipAddresses":["::1", "127.0.0.1"], "additionalIpAddresses":[] 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 ba9802da05f..131ddbaf8cb 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,6 +33,7 @@ "failCount": 0, "hardwareFailure" : false, "wantToRetire" : false, + "wantToUnprovision" : false, "history":[{"event":"readied","at":123,"agent":"system"},{"event":"reserved","at":123,"agent":"application"},{"event":"activated","at":123,"agent":"application"}], "ipAddresses":["::1", "127.0.0.1"], "additionalIpAddresses":[] 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 726e5627839..c05ca818eb8 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 @@ -17,6 +17,7 @@ "failCount": 0, "hardwareFailure" : false, "wantToRetire" : false, + "wantToUnprovision" : false, "history":[], "ipAddresses":["::1", "127.0.0.1"], "additionalIpAddresses":[] 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 ea040be7152..0c2e91d4324 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 @@ -17,6 +17,7 @@ "failCount": 0, "hardwareFailure" : false, "wantToRetire" : false, + "wantToUnprovision" : false, "history":[], "ipAddresses":["127.0.0.1"], "additionalIpAddresses":[] 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 0c894a5802d..4ea388cb8fc 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 @@ -17,6 +17,7 @@ "failCount": 0, "hardwareFailure" : false, "wantToRetire" : false, + "wantToUnprovision" : false, "history":[], "ipAddresses":["::1", "127.0.0.1"], "additionalIpAddresses":[] 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 d96afb70967..d21d11d428e 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 @@ -17,6 +17,7 @@ "failCount": 0, "hardwareFailure": false, "wantToRetire" : false, + "wantToUnprovision" : 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 844364d34c5..e45d2d96bff 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 @@ -17,6 +17,7 @@ "failCount": 0, "hardwareFailure": false, "wantToRetire" : false, + "wantToUnprovision" : false, "history": [], "ipAddresses":["::1", "127.0.0.1"], "additionalIpAddresses":[] |