diff options
author | Martin Polden <mpolden@mpolden.no> | 2021-05-31 11:11:35 +0200 |
---|---|---|
committer | Martin Polden <mpolden@mpolden.no> | 2021-05-31 11:11:35 +0200 |
commit | 5908a0a212735ab18831f22d3710d34792d56aab (patch) | |
tree | 43f596774f0d7a964d54fe4d6f52f8e2df25d411 /node-repository | |
parent | 048750636c81f69396f0027e4196142470eaafca (diff) |
Defer encryption if host is upgrading Vespa
Diffstat (limited to 'node-repository')
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(); } |