diff options
author | jonmv <venstad@gmail.com> | 2022-04-12 12:49:40 +0200 |
---|---|---|
committer | jonmv <venstad@gmail.com> | 2022-04-12 12:49:40 +0200 |
commit | 55788b03e5980f75e93aef00657128e37c16491f (patch) | |
tree | 88db5d5b6df027cc791db6017f51c1f2d0352a7e /controller-server/src | |
parent | 69a792bd4285b66af2ef5cb322cd2ecb329e9c3f (diff) |
Make JobType non-enum, and prepare for serialisation with zone id instead
Diffstat (limited to 'controller-server/src')
9 files changed, 33 insertions, 33 deletions
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/DeploymentStatus.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/DeploymentStatus.java index a2c5b8f4a9b..17e52ee28cb 100644 --- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/DeploymentStatus.java +++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/DeploymentStatus.java @@ -925,7 +925,7 @@ public class DeploymentStatus { private final Change change; public Job(JobType type, Versions versions, Optional<Instant> readyAt, Change change) { - this.versions = type == systemTest ? versions.withoutSources() : versions; + this.versions = type.isSystemTest() ? versions.withoutSources() : versions; this.readyAt = readyAt; this.change = change; } 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 f216c57b896..ef4984e74fd 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 @@ -237,7 +237,7 @@ public class JobController { /** Returns all job types which have been run for the given application. */ private List<JobType> jobs(ApplicationId id) { - return JobType.allIn(controller.system()).stream() + return JobType.allIn(controller.zoneRegistry()).stream() .filter(type -> last(id, type).isPresent()) .collect(toUnmodifiableList()); } @@ -316,20 +316,20 @@ public class JobController { /** Returns a list of all active runs for the given application. */ public List<Run> active(TenantAndApplicationId id) { return controller.applications().requireApplication(id).instances().keySet().stream() - .flatMap(name -> Stream.of(JobType.values()) - .map(type -> last(id.instance(name), type)) - .flatMap(Optional::stream) - .filter(run -> !run.hasEnded())) + .flatMap(name -> JobType.allIn(controller.zoneRegistry()).stream() + .map(type -> last(id.instance(name), type)) + .flatMap(Optional::stream) + .filter(run -> ! run.hasEnded())) .collect(toUnmodifiableList()); } /** Returns a list of all active runs for the given instance. */ public List<Run> active(ApplicationId id) { - return Stream.of(JobType.values()) - .map(type -> last(id, type)) - .flatMap(Optional::stream) - .filter(run -> !run.hasEnded()) - .collect(toUnmodifiableList()); + return JobType.allIn(controller.zoneRegistry()).stream() + .map(type -> last(id, type)) + .flatMap(Optional::stream) + .filter(run -> !run.hasEnded()) + .collect(toUnmodifiableList()); } /** Returns the job status of the given job, possibly empty. */ diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/RunList.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/RunList.java index 00cd4bd5c6c..80c6552d3d4 100644 --- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/RunList.java +++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/RunList.java @@ -38,7 +38,7 @@ public class RunList extends AbstractFilteringList<Run, RunList> { private static boolean matchingVersions(Run run, Versions versions) { return versions.targetsMatch(run.versions()) - && (versions.sourcesMatchIfPresent(run.versions()) || run.id().type() == JobType.systemTest); + && (versions.sourcesMatchIfPresent(run.versions()) || run.id().type().isSystemTest()); } } diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/BufferedLogStore.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/BufferedLogStore.java index 9c3a6aa17d7..9721026c628 100644 --- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/BufferedLogStore.java +++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/BufferedLogStore.java @@ -110,10 +110,8 @@ public class BufferedLogStore { store.delete(id); } - /** Deletes all logs for the given application. */ + /** Deletes all logs in permanent storage for the given application. */ public void delete(ApplicationId id) { - for (JobType type : JobType.values()) - buffer.deleteLog(id, type); store.delete(id); } diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiHandler.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiHandler.java index df185abb89c..b70d17dc93e 100644 --- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiHandler.java +++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiHandler.java @@ -2487,7 +2487,7 @@ public class ApplicationApiHandler extends AuditLoggingRequestHandler { .max(Comparator.naturalOrder()) .or(() -> applications.stream() .flatMap(application -> application.instances().values().stream()) - .flatMap(instance -> JobType.allIn(controller.system()).stream() + .flatMap(instance -> JobType.allIn(controller.zoneRegistry()).stream() .filter(job -> job.environment() == Environment.dev) .flatMap(jobType -> controller.jobController().last(instance.id(), jobType).stream())) .map(Run::start) diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/application/JobControllerApiHandlerHelper.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/application/JobControllerApiHandlerHelper.java index cf3642144b1..0bbfaea3e6f 100644 --- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/application/JobControllerApiHandlerHelper.java +++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/application/JobControllerApiHandlerHelper.java @@ -77,18 +77,18 @@ class JobControllerApiHandlerHelper { Cursor responseObject = slime.setObject(); Cursor jobsArray = responseObject.setArray("deployment"); - Arrays.stream(JobType.values()) - .filter(type -> type.environment().isManuallyDeployed()) - .map(devType -> new JobId(id, devType)) - .forEach(job -> { - Collection<Run> runs = controller.jobController().runs(job).descendingMap().values(); - if (runs.isEmpty()) - return; - - Cursor jobObject = jobsArray.addObject(); - jobObject.setString("jobName", job.type().jobName()); - toSlime(jobObject.setArray("runs"), runs, controller.applications().requireApplication(TenantAndApplicationId.from(id)), 10, baseUriForJobs); - }); + JobType.allIn(controller.zoneRegistry()).stream() + .filter(type -> type.environment().isManuallyDeployed()) + .map(devType -> new JobId(id, devType)) + .forEach(job -> { + Collection<Run> runs = controller.jobController().runs(job).descendingMap().values(); + if (runs.isEmpty()) + return; + + Cursor jobObject = jobsArray.addObject(); + jobObject.setString("jobName", job.type().jobName()); + toSlime(jobObject.setArray("runs"), runs, controller.applications().requireApplication(TenantAndApplicationId.from(id)), 10, baseUriForJobs); + }); return new SlimeJsonResponse(slime); } diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/deployment/DeploymentApiHandler.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/deployment/DeploymentApiHandler.java index 1a4a42cb521..effa0906b94 100644 --- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/deployment/DeploymentApiHandler.java +++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/deployment/DeploymentApiHandler.java @@ -210,7 +210,7 @@ public class DeploymentApiHandler extends ThreadedHttpRequestHandler { }); }); } - JobType.allIn(controller.system()).stream() + JobType.allIn(controller.zoneRegistry()).stream() .filter(job -> ! job.environment().isManuallyDeployed()) .map(JobType::jobName).forEach(root.setArray("jobs")::addString); return new SlimeJsonResponse(slime); 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 04ee21117a9..5a330b00809 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 @@ -24,10 +24,12 @@ import java.time.Duration; import java.time.Instant; import java.util.Collection; import java.util.EnumSet; +import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Optional; import java.util.OptionalLong; +import java.util.Set; import java.util.stream.Collectors; import static ai.vespa.validation.Validation.require; @@ -213,9 +215,9 @@ public class DeploymentTriggerTest { app.runJob(systemTest).runJob(stagingTest); tester.triggerJobs(); tester.runner().run(); - assertEquals(EnumSet.of(productionUsCentral1), tester.jobs().active().stream() - .map(run -> run.id().type()) - .collect(Collectors.toCollection(() -> EnumSet.noneOf(JobType.class)))); + assertEquals(Set.of(productionUsCentral1), tester.jobs().active().stream() + .map(run -> run.id().type()) + .collect(Collectors.toCollection(HashSet::new))); } @Test diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/dev-us-east-1-log-first-part.json b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/dev-us-east-1-log-first-part.json index 2e9618c890d..63869ecfba8 100644 --- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/dev-us-east-1-log-first-part.json +++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/dev-us-east-1-log-first-part.json @@ -6,7 +6,7 @@ { "at": 0, "type": "info", - "message": "Deploying platform version 6.1 and application dev build 1 for devUsEast1 of default ..." + "message": "Deploying platform version 6.1 and application dev build 1 for dev-us-east-1 of default ..." }, { "at": 0, |