diff options
author | Harald Musum <musum@verizonmedia.com> | 2021-06-02 11:45:12 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-06-02 11:45:12 +0200 |
commit | 48b61eb09f817c0f4153ad8d0989695f6758cff8 (patch) | |
tree | d9261457350d98f24ee533bef139c107ae18b4d4 | |
parent | 0a67b14cf0c9029852f541a5ca49e843b36c64bc (diff) | |
parent | 9b7215ddb28edeb2acbdc4e3ed91721fe3f0b837 (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.java | 15 |
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()); + } + + } |