summaryrefslogtreecommitdiffstats
path: root/node-repository
diff options
context:
space:
mode:
authorValerij Fredriksen <valerijf@verizonmedia.com>2021-09-15 18:37:23 +0200
committerValerij Fredriksen <valerijf@verizonmedia.com>2021-09-15 18:37:23 +0200
commitba2291e9f5557e8c4e7576eebfad13e126740b74 (patch)
tree83b98aaefb6312dc7b976ba7b1165a868ae1c3ab /node-repository
parentf775dc6a3b86e5039f1b697b0b1d98e6e89e0f0a (diff)
Dirty all nodes on application removal
Diffstat (limited to 'node-repository')
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/NodeRepository.java6
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/InactiveAndFailedExpirerTest.java6
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/ProvisioningTest.java10
3 files changed, 9 insertions, 13 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 f084b83bf97..d2287d32dec 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
@@ -196,13 +196,11 @@ public class NodeRepository extends AbstractComponent {
.collect(Collectors.toUnmodifiableList());
}
- /** Removes this application: Active nodes are deactivated while all non-active nodes are set dirty. */
+ /** Removes this application: all nodes are set dirty. */
public void remove(ApplicationTransaction transaction) {
NodeList applicationNodes = nodes().list().owner(transaction.application());
- NodeList activeNodes = applicationNodes.state(State.active);
- nodes().deactivate(activeNodes.asList(), transaction);
db.writeTo(State.dirty,
- applicationNodes.except(activeNodes.asSet()).asList(),
+ applicationNodes.asList(),
Agent.system,
Optional.of("Application is removed"),
transaction.nested());
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/InactiveAndFailedExpirerTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/InactiveAndFailedExpirerTest.java
index e4225d780f0..cc16a0ed77d 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/InactiveAndFailedExpirerTest.java
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/InactiveAndFailedExpirerTest.java
@@ -63,7 +63,7 @@ public class InactiveAndFailedExpirerTest {
List<HostSpec> preparedNodes = tester.prepare(applicationId, cluster, Capacity.from(new ClusterResources(2, 1, nodeResources)));
tester.activate(applicationId, new HashSet<>(preparedNodes));
assertEquals(2, tester.getNodes(applicationId, Node.State.active).size());
- tester.deactivate(applicationId);
+ tester.activate(applicationId, List.of());
List<Node> inactiveNodes = tester.getNodes(applicationId, Node.State.inactive).asList();
assertEquals(2, inactiveNodes.size());
@@ -149,7 +149,7 @@ public class InactiveAndFailedExpirerTest {
List<HostSpec> preparedNodes = tester.prepare(testerId, cluster, Capacity.from(new ClusterResources(2, 1, nodeResources)));
tester.activate(testerId, new HashSet<>(preparedNodes));
assertEquals(1, tester.getNodes(testerId, Node.State.active).size());
- tester.deactivate(testerId);
+ tester.activate(testerId, List.of());
List<Node> inactiveNodes = tester.getNodes(testerId, Node.State.inactive).asList();
assertEquals(1, inactiveNodes.size());
@@ -171,7 +171,7 @@ public class InactiveAndFailedExpirerTest {
List<HostSpec> preparedNodes = tester.prepare(applicationId, cluster, Capacity.fromRequiredNodeType(NodeType.host));
tester.activate(applicationId, new HashSet<>(preparedNodes));
assertEquals(2, tester.getNodes(applicationId, Node.State.active).size());
- tester.deactivate(applicationId);
+ tester.activate(applicationId, List.of());
List<Node> inactiveNodes = tester.getNodes(applicationId, Node.State.inactive).asList();
assertEquals(2, inactiveNodes.size());
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/ProvisioningTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/ProvisioningTest.java
index 277884a71c6..45a20e6fd4e 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/ProvisioningTest.java
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/ProvisioningTest.java
@@ -104,12 +104,10 @@ public class ProvisioningTest {
assertEquals(3, tester.getNodes(application1, Node.State.inactive).size());
// delete app
- NodeList previouslyActive = tester.getNodes(application1, Node.State.active);
- NodeList previouslyInactive = tester.getNodes(application1, Node.State.inactive);
+ NodeList previousNodes = tester.getNodes(application1);
tester.remove(application1);
- assertEquals(previouslyActive.not().container().hostnames(),
- tester.nodeRepository().nodes().list(Node.State.inactive).owner(application1).hostnames());
- assertTrue(tester.nodeRepository().nodes().list(Node.State.dirty).asList().containsAll(previouslyActive.container().asList()));
+ assertEquals(previousNodes.hostnames(),
+ tester.nodeRepository().nodes().list(Node.State.dirty).owner(application1).hostnames());
assertEquals(0, tester.getNodes(application1, Node.State.active).size());
assertTrue(tester.nodeRepository().applications().get(application1).isEmpty());
@@ -978,7 +976,7 @@ public class ProvisioningTest {
ProvisioningTester tester = new ProvisioningTester.Builder().zone(zone).build();
tester.makeReadyHosts(2, defaultResources).activateTenantHosts();
tester.activate(application, tester.prepare(application, cluster, capacity));
- tester.deactivate(application);
+ tester.activate(application, List.of());
assertEquals(2, tester.getNodes(application, state).size());
};