diff options
author | Martin Polden <mpolden@mpolden.no> | 2017-09-07 09:45:47 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-09-07 09:45:47 +0200 |
commit | 6ccede1c4c0caca9fb55ab7a7b5d87e201f78522 (patch) | |
tree | a3ed9671442ad831aef194aa30f77f69218f770f | |
parent | b8cfe2551007932d0091f78c14b6a516412e1504 (diff) | |
parent | a1f6c4707ca2f3a0cad2313af8bb853b0b503bf4 (diff) |
Merge pull request #3356 from vespa-engine/mpolden/log-build-number
Log build number when triggering from completion
8 files changed, 23 insertions, 7 deletions
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/application/DeploymentJobs.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/application/DeploymentJobs.java index 45a39f5c891..dc1dcb2d5ed 100644 --- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/application/DeploymentJobs.java +++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/application/DeploymentJobs.java @@ -272,15 +272,18 @@ public class DeploymentJobs { private final ApplicationId applicationId; private final JobType jobType; private final long projectId; + private final long buildNumber; private final Optional<JobError> jobError; private final boolean selfTriggering; - public JobReport(ApplicationId applicationId, JobType jobType, long projectId, Optional<JobError> jobError, boolean selfTriggering) { - Objects.requireNonNull(applicationId, "ApplicationId can not be null."); - Objects.requireNonNull(jobType, "JobType can not be null."); - + public JobReport(ApplicationId applicationId, JobType jobType, long projectId, long buildNumber, + Optional<JobError> jobError, boolean selfTriggering) { + Objects.requireNonNull(applicationId, "applicationId cannot be null"); + Objects.requireNonNull(jobType, "jobType cannot be null"); + Objects.requireNonNull(jobError, "jobError cannot be null"); this.applicationId = applicationId; this.projectId = projectId; + this.buildNumber = buildNumber; this.jobType = jobType; this.jobError = jobError; this.selfTriggering = selfTriggering; @@ -289,6 +292,7 @@ public class DeploymentJobs { public ApplicationId applicationId() { return applicationId; } public JobType jobType() { return jobType; } public long projectId() { return projectId; } + public long buildNumber() { return buildNumber; } public boolean success() { return !jobError.isPresent(); } public Optional<JobError> jobError() { return jobError; } public boolean selfTriggering() { return selfTriggering; } diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/DeploymentTrigger.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/DeploymentTrigger.java index 5f529d21995..ad48ef5c9cc 100644 --- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/DeploymentTrigger.java +++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/DeploymentTrigger.java @@ -78,11 +78,17 @@ public class DeploymentTrigger { // Trigger next if (report.success()) - application = trigger(order.nextAfter(report.jobType(), application), application, report.jobType() + " completed successfully", lock); + application = trigger(order.nextAfter(report.jobType(), application), application, + String.format("%s completed successfully in build %d", + report.jobType(), report.buildNumber()), lock); else if (isCapacityConstrained(report.jobType()) && shouldRetryOnOutOfCapacity(application, report.jobType())) - application = trigger(report.jobType(), application, true, "Retrying due to out of capacity", lock); + application = trigger(report.jobType(), application, true, + String.format("Retrying due to out of capacity in build %d", + report.buildNumber()), lock); else if (shouldRetryNow(application)) - application = trigger(report.jobType(), application, false, "Retrying as job just started failing", lock); + application = trigger(report.jobType(), application, false, + String.format("Retrying as build %d just started failing", + report.buildNumber()), lock); applications().store(application, lock); } diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/screwdriver/ScrewdriverApiHandler.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/screwdriver/ScrewdriverApiHandler.java index 9a1bdfc3c33..3cc4d8c7f5c 100644 --- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/screwdriver/ScrewdriverApiHandler.java +++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/screwdriver/ScrewdriverApiHandler.java @@ -146,6 +146,7 @@ public class ScrewdriverApiHandler extends LoggingRequestHandler { report.field("instance").asString()), JobType.fromId(report.field("jobName").asString()), report.field("projectId").asLong(), + report.field("buildNumber").asLong(), jobError, report.field("selfTriggering").asBool() ); diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/ControllerTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/ControllerTest.java index 3d756034b71..72d0b836278 100644 --- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/ControllerTest.java +++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/ControllerTest.java @@ -496,6 +496,7 @@ public class ControllerTest { application.id(), jobType, application.deploymentJobs().projectId().get(), + 42, jobError, selfTriggering ); diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/deployment/DeploymentTester.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/deployment/DeploymentTester.java index 8ed1bda1e57..3edbcea9843 100644 --- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/deployment/DeploymentTester.java +++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/deployment/DeploymentTester.java @@ -193,6 +193,7 @@ public class DeploymentTester { application.id(), jobType, application.deploymentJobs().projectId().get(), + 42, jobError, false ); diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/deployment/MockBuildService.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/deployment/MockBuildService.java index 7d792c9f038..b9e66b354de 100644 --- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/deployment/MockBuildService.java +++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/deployment/MockBuildService.java @@ -160,6 +160,7 @@ public class MockBuildService implements BuildService { applicationId, jobType, projectId, + 42, JobError.from(success), false )); diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/ContainerControllerTester.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/ContainerControllerTester.java index 1b4851d4a78..72abbaa3477 100644 --- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/ContainerControllerTester.java +++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/ContainerControllerTester.java @@ -75,6 +75,7 @@ public class ContainerControllerTester { public void notifyJobCompletion(ApplicationId applicationId, long projectId, boolean success, DeploymentJobs.JobType job) { controller().applications().notifyJobCompletion(new DeploymentJobs.JobReport(applicationId, job, projectId, + 42, success ? Optional.empty() : Optional.of(DeploymentJobs.JobError.unknown), false)); } diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/versions/VersionStatusTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/versions/VersionStatusTest.java index 79ee96c309d..a2fb5f38457 100644 --- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/versions/VersionStatusTest.java +++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/versions/VersionStatusTest.java @@ -273,6 +273,7 @@ public class VersionStatusTest { application.id(), jobType, application.deploymentJobs().projectId().get(), + 42, JobError.from(success), false ); |