diff options
author | Martin Polden <mpolden@mpolden.no> | 2022-04-07 09:35:15 +0200 |
---|---|---|
committer | Martin Polden <mpolden@mpolden.no> | 2022-04-07 09:38:21 +0200 |
commit | f73d4751183b4de0b09eedd2060324b20d8798db (patch) | |
tree | 206258617aa38a724527bce468b50775a1cee401 /node-repository | |
parent | 87b9dcc76a9b33f8b456d53c9aa9e19e89645ee1 (diff) |
Disallow unparking of a host being rebuilt
Diffstat (limited to 'node-repository')
-rw-r--r-- | node-repository/src/main/java/com/yahoo/vespa/hosted/provision/node/Nodes.java | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/node/Nodes.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/node/Nodes.java index fc0da672e6f..d544ea76983 100644 --- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/node/Nodes.java +++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/node/Nodes.java @@ -323,8 +323,9 @@ public class Nodes { return park(node.hostname(), false, agent, reason, transaction); } else { Node.State toState = Node.State.dirty; - if (node.state() == Node.State.parked && node.status().wantToDeprovision()) { - throw new IllegalArgumentException("Cannot move " + node + " to " + toState + ": It's being deprovisioned"); + if (node.state() == Node.State.parked) { + if (node.status().wantToDeprovision()) throw new IllegalArgumentException("Cannot move " + node + " to " + toState + ": It's being deprovisioned"); + if (node.status().wantToRebuild()) throw new IllegalArgumentException("Cannot move " + node + " to " + toState + ": It's being rebuilt"); } return db.writeTo(toState, List.of(node), agent, Optional.of(reason), transaction).get(0); } |