summaryrefslogtreecommitdiffstats
path: root/node-repository
diff options
context:
space:
mode:
authorMartin Polden <mpolden@mpolden.no>2023-06-06 11:36:55 +0200
committerMartin Polden <mpolden@mpolden.no>2023-06-06 11:45:54 +0200
commitdc7841a19b775132b34044032d661c7213cd20a9 (patch)
treedb3e5d208c9a0dd9851c7858e0433589be6049ca /node-repository
parent6ee53faf3172ed15a541717fd51bebc73cd82e5d (diff)
Do not count lack of capacity as failures
Diffstat (limited to 'node-repository')
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/HostFlavorUpgrader.java6
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/HostFlavorUpgraderTest.java8
2 files changed, 5 insertions, 9 deletions
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/HostFlavorUpgrader.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/HostFlavorUpgrader.java
index eb05aa21c4e..b16f2c5c17e 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/HostFlavorUpgrader.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/HostFlavorUpgrader.java
@@ -60,8 +60,6 @@ public class HostFlavorUpgrader extends NodeRepositoryMaintainer {
NodeList activeNodes = allNodes.nodeType(NodeType.tenant)
.state(Node.State.active)
.shuffle(random); // Shuffle to avoid getting stuck trying to upgrade the same host
- int attempts = 0;
- int failures = 0;
for (var node : activeNodes) {
Optional<Node> parent = allNodes.parentOf(node);
if (parent.isEmpty()) continue;
@@ -74,18 +72,16 @@ public class HostFlavorUpgrader extends NodeRepositoryMaintainer {
deploymentValid = deployment.isValid();
if (!deploymentValid) continue;
- attempts++;
log.log(Level.INFO, () -> "Redeploying " + node.allocation().get().owner() + " to upgrade flavor (" +
parent.get().flavor().name() + ") of " + parent.get());
upgradeFlavor(parent.get(), true);
deployment.activate();
redeployed = true;
- return asSuccessFactorDeviation(attempts, failures);
+ return 1.0;
} catch (NodeAllocationException e) {
// Fine, no capacity for upgrade
} finally {
if (deploymentValid && !redeployed) { // Cancel upgrade if redeploy failed
- failures++;
upgradeFlavor(parent.get(), false);
}
}
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/HostFlavorUpgraderTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/HostFlavorUpgraderTest.java
index 964af14d8a9..6224143aabf 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/HostFlavorUpgraderTest.java
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/HostFlavorUpgraderTest.java
@@ -54,14 +54,14 @@ class HostFlavorUpgraderTest {
assertEquals(flavor0, host.flavor().name());
// Nothing to upgrade initially
- upgrader.maintain();
+ assertEquals(1, upgrader.maintain());
assertEquals(NodeList.of(), tester.nodeRepository().nodes().list()
.matching(h -> h.status().wantToUpgradeFlavor()));
// Mark flavor as upgradable, but fail all provisioning requests
hostProvisioner.addUpgradableFlavor(flavor0)
.with(Behaviour.failProvisionRequest);
- upgrader.maintain();
+ assertEquals(1, upgrader.maintain());
assertEquals(NodeList.of(),
tester.nodeRepository().nodes().list()
.matching(node -> node.status().wantToUpgradeFlavor() || node.status().wantToRetire()),
@@ -69,7 +69,7 @@ class HostFlavorUpgraderTest {
// First provision request fails, but second succeeds and a replacement host starts provisioning
hostProvisioner.with(Behaviour.failProvisionRequest, 1);
- assertEquals(-0.5, upgrader.maintain(), Double.MIN_VALUE); // One host failed, one succeeded
+ assertEquals(1, upgrader.maintain());
NodeList nodes = tester.nodeRepository().nodes().list();
NodeList upgradingFlavor = nodes.matching(node -> node.status().wantToRetire() &&
node.status().wantToUpgradeFlavor());
@@ -77,7 +77,7 @@ class HostFlavorUpgraderTest {
assertEquals(1, nodes.state(Node.State.provisioned).size());
// No more upgrades are started while host is retiring
- assertEquals(1.0, upgrader.maintain(), Double.MIN_VALUE);
+ assertEquals(1, upgrader.maintain());
assertEquals(upgradingFlavor, tester.nodeRepository().nodes().list()
.matching(node -> node.status().wantToUpgradeFlavor()));
}