summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Musum <musum@verizonmedia.com>2021-06-02 11:45:12 +0200
committerGitHub <noreply@github.com>2021-06-02 11:45:12 +0200
commit48b61eb09f817c0f4153ad8d0989695f6758cff8 (patch)
treed9261457350d98f24ee533bef139c107ae18b4d4
parent0a67b14cf0c9029852f541a5ca49e843b36c64bc (diff)
parent9b7215ddb28edeb2acbdc4e3ed91721fe3f0b837 (diff)
Merge pull request #18087 from vespa-engine/hmusum/check-if-deployment-can-be-done-just-before-doing-it
Add canDeployNow method to OperatorChangeApplicationMaintainer
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/OperatorChangeApplicationMaintainer.java15
1 files changed, 15 insertions, 0 deletions
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/OperatorChangeApplicationMaintainer.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/OperatorChangeApplicationMaintainer.java
index f620a6d113d..47337518a65 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/OperatorChangeApplicationMaintainer.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/OperatorChangeApplicationMaintainer.java
@@ -5,6 +5,7 @@ import com.yahoo.config.provision.ApplicationId;
import com.yahoo.config.provision.Deployer;
import com.yahoo.config.provision.NodeType;
import com.yahoo.jdisc.Metric;
+import com.yahoo.vespa.hosted.provision.Node;
import com.yahoo.vespa.hosted.provision.NodeList;
import com.yahoo.vespa.hosted.provision.NodeRepository;
import com.yahoo.vespa.hosted.provision.node.Agent;
@@ -70,4 +71,18 @@ public class OperatorChangeApplicationMaintainer extends ApplicationMaintainer {
.anyMatch(e -> lastDeployTime.get().isBefore(e));
}
+ @Override
+ protected boolean canDeployNow(ApplicationId application) {
+ return activeNodesByApplication().get(application) != null;
+ }
+
+ @Override
+ protected Map<ApplicationId, NodeList> activeNodesByApplication() {
+ return nodeRepository().nodes()
+ .list(Node.State.active)
+ .not().tester()
+ .groupingBy(node -> node.allocation().get().owner());
+ }
+
+
}