aboutsummaryrefslogtreecommitdiffstats
path: root/node-repository/src/test/java
diff options
context:
space:
mode:
authorMartin Polden <mpolden@mpolden.no>2023-01-09 10:41:23 +0100
committerMartin Polden <mpolden@mpolden.no>2023-01-09 10:41:23 +0100
commit34b27f05ae5ee78c1b7f810b63bb96684777bffc (patch)
tree8281789b9545c468b7c18226e82d1f6b204019d7 /node-repository/src/test/java
parent5d8e9c2207b17718564ff8857d2ffed0bb825fab (diff)
Retry OS upgrade if retirement is canceled
Diffstat (limited to 'node-repository/src/test/java')
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/os/OsVersionsTest.java10
1 files changed, 8 insertions, 2 deletions
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/os/OsVersionsTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/os/OsVersionsTest.java
index 4635d3ff525..9f9e6b85545 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/os/OsVersionsTest.java
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/os/OsVersionsTest.java
@@ -26,7 +26,6 @@ import java.util.List;
import java.util.Optional;
import java.util.function.Function;
import java.util.function.Supplier;
-import java.util.stream.Collectors;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
@@ -181,9 +180,16 @@ public class OsVersionsTest {
versions.setTarget(NodeType.host, version1, false);
versions.resumeUpgradeOf(NodeType.host, true);
- // One host is deprovisioning
+ // First batch of hosts starts deprovisioning
assertEquals(maxActiveUpgrades, hostNodes.get().deprovisioning().size());
+ // Deprovisioning is rescheduled if some other agent resets wantToRetire/wantToDeprovision
+ Node host0 = hostNodes.get().deprovisioning().first().get();
+ tester.patchNode(host0, (h) -> h.withWantToRetire(false, false, Agent.system,
+ tester.nodeRepository().clock().instant()));
+ versions.resumeUpgradeOf(NodeType.host, true);
+ assertTrue(hostNodes.get().deprovisioning().node(host0.hostname()).isPresent());
+
// Nothing happens on next resume as first batch has not completed upgrade
versions.resumeUpgradeOf(NodeType.host, true);
NodeList nodesDeprovisioning = hostNodes.get().deprovisioning();