diff options
Diffstat (limited to 'node-repository')
-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()); + } + + } |