aboutsummaryrefslogtreecommitdiffstats
path: root/node-repository
diff options
context:
space:
mode:
authorMartin Polden <mpolden@mpolden.no>2021-05-31 11:11:35 +0200
committerMartin Polden <mpolden@mpolden.no>2021-05-31 11:11:35 +0200
commit5908a0a212735ab18831f22d3710d34792d56aab (patch)
tree43f596774f0d7a964d54fe4d6f52f8e2df25d411 /node-repository
parent048750636c81f69396f0027e4196142470eaafca (diff)
Defer encryption if host is upgrading Vespa
Diffstat (limited to 'node-repository')
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/HostEncrypter.java9
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/OsUpgradeActivator.java1
2 files changed, 9 insertions, 1 deletions
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/HostEncrypter.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/HostEncrypter.java
index d37343f2c75..3fcbb33af1e 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/HostEncrypter.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/HostEncrypter.java
@@ -49,12 +49,21 @@ public class HostEncrypter extends NodeRepositoryMaintainer {
NodeList allNodes = nodeRepository().nodes().list();
for (var nodeType : NodeType.values()) {
if (!nodeType.isHost()) continue;
+ if (upgradingVespa(allNodes, nodeType)) continue;
unencryptedHosts(allNodes, nodeType).forEach(host -> encrypt(host, now));
triggerRestart(allNodes, nodeType);
}
return true;
}
+ /** Returns whether any node of given type is currently upgrading its Vespa version */
+ private boolean upgradingVespa(NodeList allNodes, NodeType hostType) {
+ return allNodes.state(Node.State.ready, Node.State.active)
+ .nodeType(hostType)
+ .changingVersion()
+ .size() > 0;
+ }
+
/** Returns unencrypted hosts of given type that can be encrypted */
private List<Node> unencryptedHosts(NodeList allNodes, NodeType hostType) {
if (!hostType.isHost()) throw new IllegalArgumentException("Expected host type, got " + hostType);
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/OsUpgradeActivator.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/OsUpgradeActivator.java
index 3ff4ca89ad4..4eba15307cb 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/OsUpgradeActivator.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/OsUpgradeActivator.java
@@ -38,7 +38,6 @@ public class OsUpgradeActivator extends NodeRepositoryMaintainer {
.list(Node.State.ready, Node.State.active)
.nodeType(type)
.changingVersion()
- .asList()
.isEmpty();
}