diff options
author | Valerij Fredriksen <valerijf@verizonmedia.com> | 2020-08-10 15:23:20 +0200 |
---|---|---|
committer | Valerij Fredriksen <valerijf@verizonmedia.com> | 2020-08-10 15:24:20 +0200 |
commit | 5573411c823144ecab2c60c0d21e828a47a7e479 (patch) | |
tree | f04710c2254398742acba862faf62ae341e46908 /node-repository | |
parent | 43f1f5c14502df06907fbf390abf96c006cabdc5 (diff) |
Use node type rather than flavor environment to determine node type
Diffstat (limited to 'node-repository')
4 files changed, 10 insertions, 15 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 7bf76b7c2c2..ddf995bbe46 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 @@ -735,11 +735,11 @@ public class NodeRepository extends AbstractComponent { if (node.type() == NodeType.tenant && node.allocation().isPresent()) illegal(node + " is currently allocated and cannot be removed"); - if (node.flavor().getType() == Flavor.Type.DOCKER_CONTAINER && !removingAsChild) { + if (!node.type().isHost() && !removingAsChild) { if (node.state() != State.ready) illegal(node + " can not be removed as it is not in the state " + State.ready); } - else if (node.flavor().getType() == Flavor.Type.DOCKER_CONTAINER) { // removing a child node + else if (!node.type().isHost()) { // removing a child node Set<State> legalStates = EnumSet.of(State.provisioned, State.failed, State.parked, State.dirty, State.ready); if ( ! legalStates.contains(node.state())) illegal(node + " can not be removed as it is not in the states " + legalStates); diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/NodeRepositoryTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/NodeRepositoryTest.java index 9d5e7691fe8..f8aed27dcdf 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/NodeRepositoryTest.java +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/NodeRepositoryTest.java @@ -36,16 +36,17 @@ public class NodeRepositoryTest { NodeRepositoryTester tester = new NodeRepositoryTester(); assertEquals(0, tester.nodeRepository().getNodes().size()); - tester.addNode("id1", "host1", "default", NodeType.tenant); - tester.addNode("id2", "host2", "default", NodeType.tenant); - tester.addNode("id3", "host3", "default", NodeType.tenant); + tester.addNode("id1", "host1", "default", NodeType.host); + tester.addNode("id2", "host2", "default", NodeType.host); + tester.addNode("id3", "host3", "default", NodeType.host); assertEquals(3, tester.nodeRepository().getNodes().size()); tester.nodeRepository().park("host2", true, Agent.system, "Parking to unit test"); tester.nodeRepository().removeRecursively("host2"); - assertEquals(2, tester.nodeRepository().getNodes().size()); + assertEquals(3, tester.nodeRepository().getNodes().size()); + assertEquals(1, tester.nodeRepository().getNodes(Node.State.deprovisioned).size()); } @Test diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/NodesV2ApiTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/NodesV2ApiTest.java index 81bf999a184..87bc34185be 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/NodesV2ApiTest.java +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/NodesV2ApiTest.java @@ -90,7 +90,7 @@ public class NodesV2ApiTest { // POST new nodes assertResponse(new Request("http://localhost:8080/nodes/v2/node", ("[" + asNodeJson("host8.yahoo.com", "default", "127.0.8.1") + "," + // test with only 1 ip address - asNodeJson("host9.yahoo.com", "large-variant", "127.0.9.1", "::9:1") + "," + + asHostJson("host9.yahoo.com", "large-variant", Optional.empty(), "127.0.9.1", "::9:1") + "," + asHostJson("parent2.yahoo.com", "large-variant", Optional.of(TenantName.from("myTenant")), "127.0.127.1", "::127:1") + "," + asDockerNodeJson("host11.yahoo.com", "parent.host.yahoo.com", "::11") + "]"). getBytes(StandardCharsets.UTF_8), @@ -137,13 +137,7 @@ public class NodesV2ApiTest { new byte[0], Request.Method.PUT), "{\"message\":\"Moved host2.yahoo.com to active\"}"); - // PUT a node in parked ... - assertResponse(new Request("http://localhost:8080/nodes/v2/state/parked/host8.yahoo.com", - new byte[0], Request.Method.PUT), - "{\"message\":\"Moved host8.yahoo.com to parked\"}"); - tester.assertResponseContains(new Request("http://localhost:8080()/nodes/v2/node/host8.yahoo.com"), - "\"state\":\"parked\""); - // ... and delete it + // Delete a ready node assertResponse(new Request("http://localhost:8080/nodes/v2/node/host8.yahoo.com", new byte[0], Request.Method.DELETE), "{\"message\":\"Removed host8.yahoo.com\"}"); diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/node9.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/node9.json index 5f388c13f28..a5672f25d57 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/node9.json +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/node9.json @@ -2,7 +2,7 @@ "url": "http://localhost:8080/nodes/v2/node/host9.yahoo.com", "id": "host9.yahoo.com", "state": "provisioned", - "type": "tenant", + "type": "host", "hostname": "host9.yahoo.com", "openStackId": "host9.yahoo.com", "flavor": "large-variant", |