diff options
author | Martin Polden <mpolden@mpolden.no> | 2020-04-17 09:47:08 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-04-17 09:47:08 +0200 |
commit | 27c4b91619083e756d691f4749efa4bb88e6da7a (patch) | |
tree | 2c9bc1f1ecec7fc0a62179191d33ca1f90c7f8d5 | |
parent | 54c7153aa095aa5f03f18a5b01db2577a6f91b35 (diff) | |
parent | 488ef28b5bb2ff54b10783b0712cc56bcd8eb438 (diff) |
Merge pull request #12934 from vespa-engine/bjormel/deprovisioned-with-empty-IP-address
Unset IP addresses on deprovisioning
-rw-r--r-- | node-repository/src/main/java/com/yahoo/vespa/hosted/provision/NodeRepository.java | 4 | ||||
-rw-r--r-- | node-repository/src/test/java/com/yahoo/vespa/hosted/provision/NodeRepositoryTest.java | 6 |
2 files changed, 9 insertions, 1 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 40cd6b03e0a..40bccf22434 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 @@ -629,8 +629,10 @@ public class NodeRepository extends AbstractComponent { List<Node> removed = new ArrayList<>(children); if (zone.cloud().value().equals("aws")) db.removeNodes(List.of(node)); - else + else { + node = node.with(IP.Config.EMPTY); move(node, State.deprovisioned, Agent.system, Optional.empty()); + } removed.add(node); return removed; } 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 38b46df77f5..7bb80fe2a21 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 @@ -5,6 +5,7 @@ import com.yahoo.config.provision.NodeType; import com.yahoo.test.ManualClock; import com.yahoo.vespa.hosted.provision.node.Agent; import com.yahoo.vespa.hosted.provision.node.History; +import com.yahoo.vespa.hosted.provision.node.IP; import com.yahoo.vespa.hosted.provision.node.Report; import com.yahoo.vespa.hosted.provision.node.Reports; import org.junit.Test; @@ -123,6 +124,10 @@ public class NodeRepositoryTest { tester.addNode("node20", "node20", "host2", "docker", NodeType.tenant); assertEquals(6, tester.nodeRepository().getNodes().size()); + Node node = tester.nodeRepository().getNode("host1").get(); + IP.Config cfg = new IP.Config(Set.of("127.0.0.1"), Set.of()); + node = node.with(cfg); + tester.setNodeState("node11", Node.State.active); try { @@ -145,6 +150,7 @@ public class NodeRepositoryTest { assertEquals(4, tester.nodeRepository().getNodes().size()); tester.nodeRepository().removeRecursively("host1"); assertEquals(Node.State.deprovisioned, tester.nodeRepository().getNode("host1").get().state()); + assertEquals(IP.Config.EMPTY.primary(), tester.nodeRepository().getNode("host1").get().ipConfig().primary()); } @Test |