diff options
author | Jon Marius Venstad <jvenstad@yahoo-inc.com> | 2018-04-19 13:41:41 +0200 |
---|---|---|
committer | Jon Marius Venstad <jvenstad@yahoo-inc.com> | 2018-04-20 14:30:20 +0200 |
commit | cca998ecae1efa76baec3353192235d7ab2f05f9 (patch) | |
tree | 8e4e2be0c1a01f2885ea466bec1797678479b3bf | |
parent | 0b05706897b5f2811ab0529ba649a4930732fdb8 (diff) |
More cleanup
4 files changed, 19 insertions, 40 deletions
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 e3941edadea..5002ece8f08 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 @@ -308,7 +308,7 @@ public class DeploymentTrigger { } private boolean canTrigger(Job job) { - Application application = applications().require(job.id); + Application application = applications().require(job.applicationId()); // TODO jvenstad: Check versions, not change. if ( ! application.deploymentJobs().isDeployableTo(job.jobType.environment(), application.change())) return false; 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 58628a42042..a1fab2aefa2 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 @@ -53,7 +53,7 @@ import java.util.Map; import java.util.Optional; import java.util.function.Supplier; -import static com.yahoo.vespa.hosted.controller.api.integration.BuildService.BuildJob.of; +import static com.yahoo.vespa.hosted.controller.ControllerTester.buildJob; import static com.yahoo.vespa.hosted.controller.application.DeploymentJobs.JobType.component; import static com.yahoo.vespa.hosted.controller.application.DeploymentJobs.JobType.productionCorpUsEast1; import static com.yahoo.vespa.hosted.controller.application.DeploymentJobs.JobType.productionUsEast3; @@ -441,33 +441,33 @@ public class ControllerTest { assertEquals(jobs, tester.buildService().jobs()); tester.readyJobTrigger().maintain(); - jobs.add(of(app2, stagingTest)); + jobs.add(buildJob(app2, stagingTest)); assertEquals(jobs, tester.buildService().jobs()); tester.readyJobTrigger().maintain(); - jobs.add(of(app1, stagingTest)); + jobs.add(buildJob(app1, stagingTest)); assertEquals(jobs, tester.buildService().jobs()); tester.readyJobTrigger().maintain(); - jobs.add(of(app3, stagingTest)); + jobs.add(buildJob(app3, stagingTest)); assertEquals(jobs, tester.buildService().jobs()); // Remove the jobs for app1 and app2, and then let app3 fail with outOfCapacity. // All three jobs are now eligible, but the one for app3 should trigger first as an outOfCapacity-retry. - tester.buildService().remove(of(app1, stagingTest)); - tester.buildService().remove(of(app2, stagingTest)); + tester.buildService().remove(buildJob(app1, stagingTest)); + tester.buildService().remove(buildJob(app2, stagingTest)); tester.clock().advance(Duration.ofHours(13)); - jobs.remove(of(app1, stagingTest)); - jobs.remove(of(app2, stagingTest)); + jobs.remove(buildJob(app1, stagingTest)); + jobs.remove(buildJob(app2, stagingTest)); tester.jobCompletion(stagingTest).application(app3).error(JobError.outOfCapacity).submit(); assertEquals(jobs, tester.buildService().jobs()); tester.readyJobTrigger().maintain(); - jobs.add(of(app2, stagingTest)); + jobs.add(buildJob(app2, stagingTest)); assertEquals(jobs, tester.buildService().jobs()); tester.readyJobTrigger().maintain(); - jobs.add(of(app1, stagingTest)); + jobs.add(buildJob(app1, stagingTest)); assertEquals(jobs, tester.buildService().jobs()); // Finish deployment for apps 2 and 3, then release a new version, leaving only app1 with an application upgrade. @@ -487,21 +487,21 @@ public class ControllerTest { // Let the last system test job start, then remove the ones for apps 1 and 2, and let app3 fail with outOfCapacity again. tester.readyJobTrigger().maintain(); - tester.buildService().remove(of(app1, systemTest)); - tester.buildService().remove(of(app2, systemTest)); + tester.buildService().remove(buildJob(app1, systemTest)); + tester.buildService().remove(buildJob(app2, systemTest)); tester.clock().advance(Duration.ofHours(13)); jobs.clear(); - jobs.add(of(app1, stagingTest)); - jobs.add(of(app3, systemTest)); + jobs.add(buildJob(app1, stagingTest)); + jobs.add(buildJob(app3, systemTest)); tester.jobCompletion(systemTest).application(app3).error(JobError.outOfCapacity).submit(); assertEquals(jobs, tester.buildService().jobs()); tester.readyJobTrigger().maintain(); - jobs.add(of(app1, systemTest)); + jobs.add(buildJob(app1, systemTest)); assertEquals(jobs, tester.buildService().jobs()); tester.readyJobTrigger().maintain(); - jobs.add(of(app2, systemTest)); + jobs.add(buildJob(app2, systemTest)); assertEquals(jobs, tester.buildService().jobs()); } @@ -540,26 +540,6 @@ public class ControllerTest { } @Test - public void testDeployUntestedChangeFails() { - DeploymentTester tester = new DeploymentTester(); - ApplicationController applications = tester.controller().applications(); - TenantName tenant = tester.controllerTester().createTenant("tenant1", "domain1", 11L); - Application app = tester.controllerTester().createApplication(tenant, "app1", "default", 1); - tester.deployCompletely(app, applicationPackage); - - tester.controller().applications().lockOrThrow(app.id(), application -> { - application = application.withChange(Change.of(Version.fromString("6.3"))); - applications.store(application); - try { - tester.controllerTester().deploy(app, ZoneId.from("prod", "corp-us-east-1"), applicationPackage); - fail("Expected exception"); - } catch (IllegalArgumentException e) { - assertEquals("Rejecting deployment of application 'tenant1.app1' to zone prod.corp-us-east-1 as upgrade to 6.3 is not tested", e.getMessage()); - } - }); - } - - @Test public void testCleanupOfStaleDeploymentData() throws IOException { DeploymentTester tester = new DeploymentTester(); tester.controllerTester().zoneRegistry().setSystemName(SystemName.cd); diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/deployment/DeploymentTriggerTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/deployment/DeploymentTriggerTest.java index 76e3b50748f..47cc6454121 100644 --- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/deployment/DeploymentTriggerTest.java +++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/deployment/DeploymentTriggerTest.java @@ -25,6 +25,7 @@ import java.util.Optional; import java.util.function.Supplier; import static com.yahoo.config.provision.SystemName.main; +import static com.yahoo.vespa.hosted.controller.ControllerTester.buildJob; import static com.yahoo.vespa.hosted.controller.application.DeploymentJobs.JobType.component; import static com.yahoo.vespa.hosted.controller.application.DeploymentJobs.JobType.productionEuWest1; import static com.yahoo.vespa.hosted.controller.application.DeploymentJobs.JobType.productionUsCentral1; @@ -323,8 +324,7 @@ public class DeploymentTriggerTest { tester.clock().advance(Duration.ofHours(2)); // ---------------- Exit block window: 20:30 tester.deploymentTrigger().triggerReadyJobs(); // Schedules the blocked production job(s) - assertEquals(singletonList(ControllerTester.buildJob(app.deploymentJobs().projectId().getAsLong(), "production-us-west-1")), - tester.buildService().jobs()); + assertEquals(singletonList(buildJob(app, productionUsWest1)), tester.buildService().jobs()); } @Test 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 b0f2d8b252c..e7cb92e2264 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 @@ -40,7 +40,6 @@ import java.io.IOException; import java.time.Duration; import java.util.Optional; -import static com.yahoo.vespa.hosted.controller.api.integration.BuildService.BuildJob.of; import static com.yahoo.vespa.hosted.controller.application.DeploymentJobs.JobType.component; import static org.junit.Assert.assertFalse; |