diff options
author | Valerij Fredriksen <valerijf@verizonmedia.com> | 2020-10-29 16:22:00 +0100 |
---|---|---|
committer | Valerij Fredriksen <valerijf@verizonmedia.com> | 2020-10-29 16:22:50 +0100 |
commit | cfdf85e398a8cc95a21afcebea30c6902ad0974a (patch) | |
tree | 44205ee00777c068a7a723962f3dfaf206ebde87 /node-repository | |
parent | 61eb803ca7cbd26652c0b956e715bad6299fb917 (diff) |
Optimize infra app deployment order to reduce errors
Diffstat (limited to 'node-repository')
-rw-r--r-- | node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/InfraDeployerImpl.java | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/InfraDeployerImpl.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/InfraDeployerImpl.java index 91c83e1c608..d81d16fe62e 100644 --- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/InfraDeployerImpl.java +++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/InfraDeployerImpl.java @@ -20,6 +20,7 @@ import com.yahoo.vespa.hosted.provision.maintenance.InfrastructureVersions; import com.yahoo.vespa.service.monitor.DuperModelInfraApi; import com.yahoo.vespa.service.monitor.InfraApplicationApi; +import java.util.Comparator; import java.util.List; import java.util.Optional; import java.util.logging.Level; @@ -53,7 +54,10 @@ public class InfraDeployerImpl implements InfraDeployer { @Override public void activateAllSupportedInfraApplications(boolean propagateException) { - duperModel.getSupportedInfraApplications().forEach(api -> { + duperModel.getSupportedInfraApplications().stream() + // nodes cannot be activated before their host, so try to activate the host first + .sorted(Comparator.comparing(n -> !n.getCapacity().type().isHost())) + .forEach(api -> { var application = api.getApplicationId(); var deployment = new InfraDeployment(api); try { |