diff options
author | jonmv <venstad@gmail.com> | 2023-10-10 15:36:19 +0200 |
---|---|---|
committer | jonmv <venstad@gmail.com> | 2023-10-10 15:36:19 +0200 |
commit | c32236ee217146f65a3a6ae8764cfd53a4e0e2a8 (patch) | |
tree | 0d193d0aedf6b9b99d8f828024883a01089609a7 /controller-server/src/main/java/com | |
parent | b5e9551aef5230904d726b47578b4cb6b1fcfe2d (diff) |
Avoid wait for health check for first-time dev deployments
Diffstat (limited to 'controller-server/src/main/java/com')
2 files changed, 7 insertions, 5 deletions
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/InternalStepRunner.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/InternalStepRunner.java index b820462472f..1b4fda28095 100644 --- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/InternalStepRunner.java +++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/InternalStepRunner.java @@ -408,7 +408,7 @@ public class InternalStepRunner implements StepRunner { } if (summary.converged()) { controller.jobController().locked(id, lockedRun -> lockedRun.withSummary(null)); - Availability availability = endpointsAvailable(id.application(), id.type().zone(), deployment.get(), logger); + Availability availability = endpointsAvailable(id.application(), id.type().zone(), deployment.get(), run.versions().sourceRevision().isEmpty(), logger); if (availability.status() == Status.available) { if (controller.routing().policies().processDnsChallenges(new DeploymentId(id.application(), id.type().zone()))) { logger.log("Installation succeeded!"); @@ -479,7 +479,7 @@ public class InternalStepRunner implements StepRunner { .toList()); controller.jobController().locked(id, lockedRun -> { - Instant noNodesDownSince = nodeList.allowedDown().size() == 0 ? lockedRun.noNodesDownSince().orElse(controller.clock().instant()) : null; + Instant noNodesDownSince = nodeList.allowedDown().isEmpty() ? lockedRun.noNodesDownSince().orElse(controller.clock().instant()) : null; return lockedRun.noNodesDownSince(noNodesDownSince).withSummary(summary); }); @@ -550,7 +550,7 @@ public class InternalStepRunner implements StepRunner { } } - private Availability endpointsAvailable(ApplicationId id, ZoneId zone, Deployment deployment, DualLogger logger) { + private Availability endpointsAvailable(ApplicationId id, ZoneId zone, Deployment deployment, boolean initialDeployment, DualLogger logger) { DeploymentId deploymentId = new DeploymentId(id, zone); Map<ZoneId, List<Endpoint>> endpoints = controller.routing().readStepRunnerEndpointsOf(Set.of(deploymentId)); logEndpoints(endpoints, logger); @@ -570,7 +570,8 @@ public class InternalStepRunner implements StepRunner { policy.canonicalName().filter(__ -> resolveEndpoints), policy.isPublic(), deployment.cloudAccount()); - }).toList()); + }).toList(), + initialDeployment); } private void logEndpoints(Map<ZoneId, List<Endpoint>> zoneEndpoints, DualLogger logger) { diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/JobController.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/JobController.java index 66052c0ed53..0dc30f54d61 100644 --- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/JobController.java +++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/JobController.java @@ -771,9 +771,10 @@ public class JobController { controller.applications().applicationStore().putDev(deploymentId, version.id(), applicationPackage.zippedContent(), diff); controller.applications().store(application.withRevisions(revisions -> revisions.with(version))); + Optional<Deployment> existing = application.get().get(id.instance()).map(instance -> instance.deployments().get(type.zone())); start(id, type, - new Versions(targetPlatform, version.id(), lastRun.map(run -> run.versions().targetPlatform()), lastRun.map(run -> run.versions().targetRevision())), + new Versions(targetPlatform, version.id(), existing.map(Deployment::version), existing.map(Deployment::revision)), false, dryRun ? JobProfile.developmentDryRun : JobProfile.development, Reason.empty()); |