diff options
author | Martin Polden <mpolden@mpolden.no> | 2022-07-08 09:41:36 +0200 |
---|---|---|
committer | Martin Polden <mpolden@mpolden.no> | 2022-07-08 09:42:45 +0200 |
commit | e1e7e9b0fe388e3ed3b19b6ceb920e1e97b39bbe (patch) | |
tree | 78ce5084487074b0fb2cdc709bf5199282297093 /controller-api | |
parent | 7a45d6c3b6d4c5e73ee50f518e6f76543b0b537b (diff) |
Ignore nodes currently deferring upgrade
Diffstat (limited to 'controller-api')
-rw-r--r-- | controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/Node.java | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/Node.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/Node.java index a381bcd5bed..3355f765f42 100644 --- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/Node.java +++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/Node.java @@ -41,6 +41,7 @@ public class Node { private final Version wantedVersion; private final Version currentOsVersion; private final Version wantedOsVersion; + private final boolean deferOsUpgrade; private final DockerImage currentDockerImage; private final DockerImage wantedDockerImage; private final ServiceState serviceState; @@ -76,7 +77,7 @@ public class Node { private Node(String id, HostName hostname, Optional<HostName> parentHostname, State state, NodeType type, NodeResources resources, Optional<ApplicationId> owner, Version currentVersion, Version wantedVersion, - Version currentOsVersion, Version wantedOsVersion, Optional<Instant> currentFirmwareCheck, + Version currentOsVersion, Version wantedOsVersion, boolean deferOsUpgrade, Optional<Instant> currentFirmwareCheck, Optional<Instant> wantedFirmwareCheck, ServiceState serviceState, Optional<Instant> suspendedSince, long restartGeneration, long wantedRestartGeneration, long rebootGeneration, long wantedRebootGeneration, int cost, int failCount, Optional<String> flavor, String clusterId, @@ -97,6 +98,7 @@ public class Node { this.wantedVersion = Objects.requireNonNull(wantedVersion, "wantedVersion must be non-null"); this.currentOsVersion = Objects.requireNonNull(currentOsVersion, "currentOsVersion must be non-null"); this.wantedOsVersion = Objects.requireNonNull(wantedOsVersion, "wantedOsVersion must be non-null"); + this.deferOsUpgrade = deferOsUpgrade; this.currentFirmwareCheck = Objects.requireNonNull(currentFirmwareCheck, "currentFirmwareCheck must be non-null"); this.wantedFirmwareCheck = Objects.requireNonNull(wantedFirmwareCheck, "wantedFirmwareCheck must be non-null"); this.serviceState = Objects.requireNonNull(serviceState, "serviceState must be non-null"); @@ -184,6 +186,11 @@ public class Node { return wantedOsVersion; } + /** Returns whether the node is currently deferring any OS upgrade */ + public boolean deferOsUpgrade() { + return deferOsUpgrade; + } + /** The container image of this is currently running */ public DockerImage currentDockerImage() { return currentDockerImage; @@ -455,6 +462,7 @@ public class Node { private Version wantedVersion = Version.emptyVersion; private Version currentOsVersion = Version.emptyVersion; private Version wantedOsVersion = Version.emptyVersion; + private boolean deferOsUpgrade = false; private DockerImage currentDockerImage = DockerImage.EMPTY; private DockerImage wantedDockerImage = DockerImage.EMPTY; private Optional<Instant> currentFirmwareCheck = Optional.empty(); @@ -502,6 +510,7 @@ public class Node { this.wantedVersion = node.wantedVersion; this.currentOsVersion = node.currentOsVersion; this.wantedOsVersion = node.wantedOsVersion; + this.deferOsUpgrade = node.deferOsUpgrade; this.currentDockerImage = node.currentDockerImage; this.wantedDockerImage = node.wantedDockerImage; this.serviceState = node.serviceState; @@ -599,6 +608,11 @@ public class Node { return this; } + public Builder deferOsUpgrade(boolean deferOsUpgrade) { + this.deferOsUpgrade = deferOsUpgrade; + return this; + } + public Builder currentDockerImage(DockerImage currentDockerImage) { this.currentDockerImage = currentDockerImage; return this; @@ -761,7 +775,7 @@ public class Node { public Node build() { return new Node(id, hostname, parentHostname, state, type, resources, owner, currentVersion, wantedVersion, - currentOsVersion, wantedOsVersion, currentFirmwareCheck, wantedFirmwareCheck, serviceState, + currentOsVersion, wantedOsVersion, deferOsUpgrade, currentFirmwareCheck, wantedFirmwareCheck, serviceState, suspendedSince, restartGeneration, wantedRestartGeneration, rebootGeneration, wantedRebootGeneration, cost, failCount, flavor, clusterId, clusterType, group, index, retired, wantToRetire, wantToDeprovision, wantToRebuild, down, reservedTo, exclusiveTo, wantedDockerImage, |