summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Polden <mpolden@mpolden.no>2020-04-17 09:47:08 +0200
committerGitHub <noreply@github.com>2020-04-17 09:47:08 +0200
commit27c4b91619083e756d691f4749efa4bb88e6da7a (patch)
tree2c9bc1f1ecec7fc0a62179191d33ca1f90c7f8d5
parent54c7153aa095aa5f03f18a5b01db2577a6f91b35 (diff)
parent488ef28b5bb2ff54b10783b0712cc56bcd8eb438 (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.java4
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/NodeRepositoryTest.java6
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