diff options
author | Valerij Fredriksen <valerijf@oath.com> | 2017-09-13 13:01:57 +0200 |
---|---|---|
committer | Valerij Fredriksen <valerijf@oath.com> | 2017-09-13 13:01:57 +0200 |
commit | c220d939db429046e114307d972046b5b79efdf1 (patch) | |
tree | 28cbe5cfd7f33a8568f90f45dec8887b89ed3051 /node-repository | |
parent | b4b5b51eec0bf08855b6e62d65275deddae7decc (diff) |
Allow child node to only be deleted in state ready
Diffstat (limited to 'node-repository')
-rw-r--r-- | node-repository/src/main/java/com/yahoo/vespa/hosted/provision/NodeRepository.java | 5 | ||||
-rw-r--r-- | node-repository/src/test/java/com/yahoo/vespa/hosted/provision/NodeRepositoryTest.java | 3 |
2 files changed, 3 insertions, 5 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 6d04685189f..92f52155edf 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 @@ -529,14 +529,13 @@ public class NodeRepository extends AbstractComponent { * If also removing the parent node: child is in state provisioned|failed|parked|ready */ private boolean verifyRemovalIsAllowed(Node nodeToRemove, boolean deletingAsChild) { - // TODO: Enable once controller no longer deletes child nodes manually - /*if (nodeToRemove.flavor().getType() == Flavor.Type.DOCKER_CONTAINER && !deletingAsChild) { + if (nodeToRemove.flavor().getType() == Flavor.Type.DOCKER_CONTAINER && !deletingAsChild) { if (nodeToRemove.state() != Node.State.ready) { throw new IllegalArgumentException( String.format("Docker container node %s can only be removed when in state ready", nodeToRemove.hostname())); } - } else */ if (nodeToRemove.flavor().getType() == Flavor.Type.DOCKER_CONTAINER) { + } else if (nodeToRemove.flavor().getType() == Flavor.Type.DOCKER_CONTAINER) { List<Node.State> legalStates = Arrays.asList(Node.State.provisioned, Node.State.failed, Node.State.parked, Node.State.ready); if (! legalStates.contains(nodeToRemove.state())) { 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 8eec56a1c00..fe3f12b105e 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 @@ -8,7 +8,6 @@ import com.yahoo.config.provision.NodeType; import com.yahoo.config.provision.TenantName; import com.yahoo.path.Path; import com.yahoo.vespa.hosted.provision.node.Agent; -import org.junit.Ignore; import org.junit.Test; import java.nio.charset.StandardCharsets; @@ -70,7 +69,7 @@ public class NodeRepositoryTest { assertTrue(tester.nodeRepository().dynamicAllocationEnabled()); } - @Test @Ignore // TODO: Enable once controller no longer deletes child nodes manually + @Test public void only_allow_docker_containers_remove_in_ready() { NodeRepositoryTester tester = new NodeRepositoryTester(); tester.addNode("id1", "host1", "docker", NodeType.tenant); |