From 7c2b10cb4bbf9c2622e255b0fcb72674c7d90122 Mon Sep 17 00:00:00 2001 From: HÃ¥kon Hallingstad Date: Thu, 8 Sep 2022 13:04:24 +0200 Subject: Ignore infra deployment failures when bootstrapping zone --- .../hosted/provision/maintenance/InfrastructureProvisioner.java | 4 ++-- .../hosted/provision/maintenance/NodeRepositoryMaintenance.java | 8 +++++--- 2 files changed, 7 insertions(+), 5 deletions(-) (limited to 'node-repository') diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/InfrastructureProvisioner.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/InfrastructureProvisioner.java index 5392df3d5b3..ba0f33cf6bd 100644 --- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/InfrastructureProvisioner.java +++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/InfrastructureProvisioner.java @@ -26,9 +26,9 @@ public class InfrastructureProvisioner extends NodeRepositoryMaintainer { this.infraDeployer = infraDeployer; } - public void maintainButThrowOnException() { + public void maintain(boolean bootstrappingZone) { try { - infraDeployer.activateAllSupportedInfraApplications(true); + infraDeployer.activateAllSupportedInfraApplications(!bootstrappingZone); } catch (RuntimeException e) { logger.log(Level.INFO, "Failed to deploy supported infrastructure applications, " + "will sleep 30s before propagating failure, to allow inspection of zk", diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/NodeRepositoryMaintenance.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/NodeRepositoryMaintenance.java index aa1abb18d8c..a3b43ced8d2 100644 --- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/NodeRepositoryMaintenance.java +++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/NodeRepositoryMaintenance.java @@ -1,6 +1,7 @@ // Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.vespa.hosted.provision.maintenance; +import com.yahoo.cloud.config.ConfigserverConfig; import com.yahoo.component.annotation.Inject; import com.yahoo.component.AbstractComponent; import com.yahoo.concurrent.maintenance.Maintainer; @@ -36,7 +37,7 @@ public class NodeRepositoryMaintenance extends AbstractComponent { HostLivenessTracker hostLivenessTracker, ServiceMonitor serviceMonitor, Zone zone, Metric metric, ProvisionServiceProvider provisionServiceProvider, FlagSource flagSource, - MetricsFetcher metricsFetcher) { + MetricsFetcher metricsFetcher, ConfigserverConfig configserverConfig) { DefaultTimes defaults = new DefaultTimes(zone, deployer); PeriodicApplicationMaintainer periodicApplicationMaintainer = new PeriodicApplicationMaintainer(deployer, metric, nodeRepository, defaults.redeployMaintainerInterval, @@ -75,8 +76,9 @@ public class NodeRepositoryMaintenance extends AbstractComponent { provisionServiceProvider.getHostProvisioner() .map(hostProvisioner -> new HostRetirer(nodeRepository, defaults.hostRetirerInterval, metric, hostProvisioner)) .ifPresent(maintainers::add); - // The DuperModel is filled with infrastructure applications by the infrastructure provisioner, so explicitly run that now - infrastructureProvisioner.maintainButThrowOnException(); + // The DuperModel is filled with infrastructure applications by the infrastructure provisioner, so explicitly + // run that now to ensure the release rollout halts on error. + infrastructureProvisioner.maintain(configserverConfig.bootstrapping()); } @Override -- cgit v1.2.3