diff options
Diffstat (limited to 'controller-server')
7 files changed, 274 insertions, 185 deletions
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/ApplicationController.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/ApplicationController.java index e984edca7db..ab4d05af0e9 100644 --- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/ApplicationController.java +++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/ApplicationController.java @@ -27,6 +27,7 @@ import com.yahoo.vespa.hosted.controller.api.integration.configserver.NoInstance import com.yahoo.vespa.hosted.controller.api.integration.configserver.PrepareResponse; import com.yahoo.vespa.hosted.controller.api.integration.deployment.ApplicationStore; import com.yahoo.vespa.hosted.controller.api.integration.deployment.ArtifactRepository; +import com.yahoo.vespa.hosted.controller.api.integration.deployment.JobType; import com.yahoo.vespa.hosted.controller.api.integration.dns.NameService; import com.yahoo.vespa.hosted.controller.api.integration.dns.Record; import com.yahoo.vespa.hosted.controller.api.integration.dns.RecordData; @@ -38,7 +39,6 @@ import com.yahoo.vespa.hosted.controller.api.integration.zone.ZoneId; import com.yahoo.vespa.hosted.controller.application.ApplicationPackage; import com.yahoo.vespa.hosted.controller.application.ApplicationVersion; import com.yahoo.vespa.hosted.controller.application.Deployment; -import com.yahoo.vespa.hosted.controller.api.integration.deployment.JobType; import com.yahoo.vespa.hosted.controller.application.JobList; import com.yahoo.vespa.hosted.controller.application.JobStatus; import com.yahoo.vespa.hosted.controller.application.JobStatus.JobRun; @@ -57,6 +57,8 @@ import java.io.IOException; import java.net.URI; import java.net.URISyntaxException; import java.time.Clock; +import java.time.Duration; +import java.time.Instant; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; @@ -115,9 +117,13 @@ public class ApplicationController { this.rotationRepository = new RotationRepository(rotationsConfig, this, curator); this.deploymentTrigger = new DeploymentTrigger(controller, buildService, clock); + Instant start = clock.instant(); + int count = 0; for (Application application : curator.readApplications()) { lockIfPresent(application.id(), this::store); + count++; } + log.log(Level.INFO, String.format("Wrote %d applications in %s", count, Duration.between(start, clock.instant()))); } /** Returns the application with the given id, or null if it is not present */ diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/TenantController.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/TenantController.java index 5f456553120..20847f904aa 100644 --- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/TenantController.java +++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/TenantController.java @@ -18,6 +18,8 @@ import com.yahoo.vespa.hosted.controller.tenant.Contact; import com.yahoo.vespa.hosted.controller.tenant.Tenant; import com.yahoo.vespa.hosted.controller.tenant.UserTenant; +import java.time.Duration; +import java.time.Instant; import java.util.Comparator; import java.util.HashSet; import java.util.List; @@ -25,6 +27,7 @@ import java.util.Objects; import java.util.Optional; import java.util.Set; import java.util.function.Consumer; +import java.util.logging.Level; import java.util.logging.Logger; import java.util.stream.Collectors; @@ -50,6 +53,8 @@ public class TenantController { this.organization = Objects.requireNonNull(organization, "organization must be non-null"); // Write all tenants to ensure persisted data uses latest serialization format + Instant start = controller.clock().instant(); + int count = 0; for (Tenant tenant : curator.readTenants()) { try (Lock lock = lock(tenant.name())) { if (tenant instanceof AthenzTenant) { @@ -60,7 +65,9 @@ public class TenantController { throw new IllegalArgumentException("Unknown tenant type: " + tenant.getClass().getSimpleName()); } } + count++; } + log.log(Level.INFO, String.format("Wrote %d tenants in %s", count, Duration.between(start, controller.clock().instant()))); } /** Returns a list of all known tenants sorted by name */ 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 32d62d00e20..8a2664e61a7 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 @@ -142,13 +142,13 @@ class JobControllerApiHandlerHelper { lastVespa = version; Version lastPlatform = lastVespa.versionNumber(); - lastPlatformObject.setString("version", lastPlatform.toString()); + lastPlatformObject.setString("platform", lastPlatform.toString()); lastPlatformObject.setLong("at", lastVespa.committedAt().toEpochMilli()); long completed = steps.productionJobs().stream().filter(type -> controller.applications().deploymentTrigger().isComplete(Change.of(lastPlatform), application, type)).count(); if (Optional.of(lastPlatform).equals(change.platform())) - lastPlatformObject.setString("deploying", completed + " of " + steps.productionJobs().size()); + lastPlatformObject.setString("deploying", completed + " of " + steps.productionJobs().size() + "complete"); else if (completed == steps.productionJobs().size()) - lastPlatformObject.setString("completed", completed + " of " + steps.productionJobs().size()); + lastPlatformObject.setString("completed", completed + " of " + steps.productionJobs().size() + "complete"); else if ( ! application.deploymentSpec().canUpgradeAt(controller.clock().instant())) { lastPlatformObject.setString("blocked", application.deploymentSpec().changeBlocker().stream() .filter(blocker -> blocker.blocksVersions()) @@ -162,7 +162,7 @@ class JobControllerApiHandlerHelper { private static void lastApplicationToSlime(Cursor lastApplicationObject, Application application, Change change, DeploymentSteps steps, Controller controller) { long completed; ApplicationVersion lastApplication = application.deploymentJobs().statusOf(component).flatMap(JobStatus::lastSuccess).get().application(); - applicationVersionToSlime(lastApplicationObject.setObject("version"), lastApplication); + applicationVersionToSlime(lastApplicationObject.setObject("application"), lastApplication); lastApplicationObject.setLong("at", application.deploymentJobs().statusOf(component).flatMap(JobStatus::lastSuccess).get().at().toEpochMilli()); completed = steps.productionJobs().stream().filter(type -> controller.applications().deploymentTrigger().isComplete(Change.of(lastApplication), application, type)).count(); if (Optional.of(lastApplication).equals(change.application())) @@ -333,11 +333,12 @@ class JobControllerApiHandlerHelper { } private static void applicationVersionToSlime(Cursor versionObject, ApplicationVersion version) { - versionObject.setString("id", version.id()); + versionObject.setString("hash", version.id()); versionObject.setLong("build", version.buildNumber().getAsLong()); - versionObject.setString("repository", version.source().get().repository()); - versionObject.setString("branch", version.source().get().branch()); - versionObject.setString("commit", version.source().get().commit()); + Cursor sourceObject = versionObject.setObject("source"); + sourceObject.setString("gitRepository", version.source().get().repository()); + sourceObject.setString("gitBranch", version.source().get().branch()); + sourceObject.setString("gitCommit", version.source().get().commit()); } /** diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/persistence/RunSerializerTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/persistence/RunSerializerTest.java index 82aee3b3550..de9fe3f3dcc 100644 --- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/persistence/RunSerializerTest.java +++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/persistence/RunSerializerTest.java @@ -30,12 +30,13 @@ import static com.yahoo.vespa.hosted.controller.deployment.Step.deactivateTester import static com.yahoo.vespa.hosted.controller.deployment.Step.deployInitialReal; import static com.yahoo.vespa.hosted.controller.deployment.Step.deployReal; import static com.yahoo.vespa.hosted.controller.deployment.Step.deployTester; +import static com.yahoo.vespa.hosted.controller.deployment.Step.endTests; import static com.yahoo.vespa.hosted.controller.deployment.Step.installInitialReal; import static com.yahoo.vespa.hosted.controller.deployment.Step.installReal; import static com.yahoo.vespa.hosted.controller.deployment.Step.installTester; import static com.yahoo.vespa.hosted.controller.deployment.Step.report; import static com.yahoo.vespa.hosted.controller.deployment.Step.startTests; -import static com.yahoo.vespa.hosted.controller.deployment.Step.endTests; +import static java.time.temporal.ChronoUnit.MILLIS; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; @@ -97,7 +98,7 @@ public class RunSerializerTest { .build(), run.steps()); - run = run.aborted().finished(Instant.now()); + run = run.aborted().finished(Instant.now().truncatedTo(MILLIS)); assertEquals(aborted, run.status()); assertTrue(run.hasEnded()); diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/JobControllerApiHandlerHelperTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/JobControllerApiHandlerHelperTest.java index 01f9ea9dfa0..f6b33940929 100644 --- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/JobControllerApiHandlerHelperTest.java +++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/JobControllerApiHandlerHelperTest.java @@ -2,11 +2,7 @@ package com.yahoo.vespa.hosted.controller.restapi.application; import com.yahoo.component.Version; import com.yahoo.container.jdisc.HttpResponse; -import com.yahoo.vespa.hosted.controller.api.application.v4.model.configserverbindings.ConfigChangeActions; -import com.yahoo.vespa.hosted.controller.api.application.v4.model.configserverbindings.RefeedAction; -import com.yahoo.vespa.hosted.controller.api.identifiers.DeploymentId; import com.yahoo.vespa.hosted.controller.api.integration.configserver.ConfigServerException; -import com.yahoo.vespa.hosted.controller.api.integration.deployment.TesterCloud; import com.yahoo.vespa.hosted.controller.api.integration.zone.ZoneId; import com.yahoo.vespa.hosted.controller.application.ApplicationVersion; import com.yahoo.vespa.hosted.controller.deployment.InternalDeploymentTester; @@ -32,14 +28,10 @@ import static com.yahoo.vespa.hosted.controller.api.integration.deployment.JobTy import static com.yahoo.vespa.hosted.controller.api.integration.deployment.TesterCloud.Status.FAILURE; import static com.yahoo.vespa.hosted.controller.deployment.InternalDeploymentTester.appId; import static com.yahoo.vespa.hosted.controller.deployment.JobController.testerOf; -import static com.yahoo.vespa.hosted.controller.deployment.RunStatus.aborted; import static com.yahoo.vespa.hosted.controller.deployment.RunStatus.deploymentFailed; -import static com.yahoo.vespa.hosted.controller.deployment.RunStatus.error; import static com.yahoo.vespa.hosted.controller.deployment.RunStatus.installationFailed; import static com.yahoo.vespa.hosted.controller.deployment.RunStatus.running; import static com.yahoo.vespa.hosted.controller.deployment.RunStatus.testFailure; -import static java.util.Collections.emptyList; -import static java.util.Collections.singletonList; import static org.junit.Assert.assertEquals; /** diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/overview.json b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/overview.json index b7a7dcbf796..a7c3135fbf3 100644 --- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/overview.json +++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/overview.json @@ -1,17 +1,19 @@ { "lastVersions": { "platform": { - "version": "7.1", + "platform": "7.1", "at": 0, "pending": "Waiting for current deployment to complete" }, "application": { - "version": { - "id": "1.0.3-commit1", + "application": { + "hash": "1.0.3-commit1", "build": 3, - "repository": "repository1", - "branch": "master", - "commit": "commit1" + "source": { + "gitRepository": "repository1", + "gitBranch": "master", + "gitCommit": "commit1" + } }, "at": 2000, "deploying": "0 of 3 complete" @@ -19,11 +21,13 @@ }, "deploying": { "application": { - "id": "1.0.3-commit1", + "hash": "1.0.3-commit1", "build": 3, - "repository": "repository1", - "branch": "master", - "commit": "commit1" + "source": { + "gitRepository": "repository1", + "gitBranch": "master", + "gitCommit": "commit1" + } } }, "deployments": [ @@ -32,11 +36,13 @@ "at": 2000, "platform": "6.1", "application": { - "id": "1.0.3-commit1", + "hash": "1.0.3-commit1", "build": 3, - "repository": "repository1", - "branch": "master", - "commit": "commit1" + "source": { + "gitRepository": "repository1", + "gitBranch": "master", + "gitCommit": "commit1" + } }, "verified": false, "status": "verifying" @@ -47,11 +53,13 @@ "at": 1000, "platform": "6.1", "application": { - "id": "1.0.2-commit1", + "hash": "1.0.2-commit1", "build": 2, - "repository": "repository1", - "branch": "master", - "commit": "commit1" + "source": { + "gitRepository": "repository1", + "gitBranch": "master", + "gitCommit": "commit1" + } }, "verified": false, "status": "pending" @@ -60,11 +68,13 @@ "at": 0, "platform": "6.1", "application": { - "id": "1.0.1-commit1", + "hash": "1.0.1-commit1", "build": 1, - "repository": "repository1", - "branch": "master", - "commit": "commit1" + "source": { + "gitRepository": "repository1", + "gitBranch": "master", + "gitCommit": "commit1" + } }, "verified": true, "status": "pending" @@ -81,19 +91,23 @@ "end": 2000, "wantedPlatform": "6.1", "wantedApplication": { - "id": "1.0.3-commit1", + "hash": "1.0.3-commit1", "build": 3, - "repository": "repository1", - "branch": "master", - "commit": "commit1" + "source": { + "gitRepository": "repository1", + "gitBranch": "master", + "gitCommit": "commit1" + } }, "currentPlatform": "6.1", "currentApplication": { - "id": "1.0.2-commit1", + "hash": "1.0.2-commit1", "build": 2, - "repository": "repository1", - "branch": "master", - "commit": "commit1" + "source": { + "gitRepository": "repository1", + "gitBranch": "master", + "gitCommit": "commit1" + } }, "tasks": { "deploy": "succeeded", @@ -109,19 +123,23 @@ "end": 1000, "wantedPlatform": "6.1", "wantedApplication": { - "id": "1.0.2-commit1", + "hash": "1.0.2-commit1", "build": 2, - "repository": "repository1", - "branch": "master", - "commit": "commit1" + "source": { + "gitRepository": "repository1", + "gitBranch": "master", + "gitCommit": "commit1" + } }, "currentPlatform": "6.1", "currentApplication": { - "id": "1.0.1-commit1", + "hash": "1.0.1-commit1", "build": 1, - "repository": "repository1", - "branch": "master", - "commit": "commit1" + "source": { + "gitRepository": "repository1", + "gitBranch": "master", + "gitCommit": "commit1" + } }, "tasks": { "deploy": "succeeded", @@ -137,11 +155,13 @@ "end": 0, "wantedPlatform": "6.1", "wantedApplication": { - "id": "1.0.1-commit1", + "hash": "1.0.1-commit1", "build": 1, - "repository": "repository1", - "branch": "master", - "commit": "commit1" + "source": { + "gitRepository": "repository1", + "gitBranch": "master", + "gitCommit": "commit1" + } }, "tasks": { "deploy": "succeeded", @@ -159,19 +179,23 @@ "status": "pending", "wantedPlatform": "6.1", "wantedApplication": { - "id": "1.0.3-commit1", + "hash": "1.0.3-commit1", "build": 3, - "repository": "repository1", - "branch": "master", - "commit": "commit1" + "source": { + "gitRepository": "repository1", + "gitBranch": "master", + "gitCommit": "commit1" + } }, "currentPlatform": "6.1", "currentApplication": { - "id": "1.0.1-commit1", + "hash": "1.0.1-commit1", "build": 1, - "repository": "repository1", - "branch": "master", - "commit": "commit1" + "source": { + "gitRepository": "repository1", + "gitBranch": "master", + "gitCommit": "commit1" + } }, "tasks": { "cooldown": "failed" @@ -185,19 +209,23 @@ "end": 2000, "wantedPlatform": "6.1", "wantedApplication": { - "id": "1.0.3-commit1", + "hash": "1.0.3-commit1", "build": 3, - "repository": "repository1", - "branch": "master", - "commit": "commit1" + "source": { + "gitRepository": "repository1", + "gitBranch": "master", + "gitCommit": "commit1" + } }, "currentPlatform": "6.1", "currentApplication": { - "id": "1.0.1-commit1", + "hash": "1.0.1-commit1", "build": 1, - "repository": "repository1", - "branch": "master", - "commit": "commit1" + "source": { + "gitRepository": "repository1", + "gitBranch": "master", + "gitCommit": "commit1" + } }, "tasks": {}, "log": "https://some.url:43/root/staging-test/run/4" @@ -209,19 +237,23 @@ "end": 2000, "wantedPlatform": "6.1", "wantedApplication": { - "id": "1.0.3-commit1", + "hash": "1.0.3-commit1", "build": 3, - "repository": "repository1", - "branch": "master", - "commit": "commit1" + "source": { + "gitRepository": "repository1", + "gitBranch": "master", + "gitCommit": "commit1" + } }, "currentPlatform": "6.1", "currentApplication": { - "id": "1.0.2-commit1", + "hash": "1.0.2-commit1", "build": 2, - "repository": "repository1", - "branch": "master", - "commit": "commit1" + "source": { + "gitRepository": "repository1", + "gitBranch": "master", + "gitCommit": "commit1" + } }, "tasks": { "deploy": "succeeded", @@ -237,19 +269,23 @@ "end": 1000, "wantedPlatform": "6.1", "wantedApplication": { - "id": "1.0.2-commit1", + "hash": "1.0.2-commit1", "build": 2, - "repository": "repository1", - "branch": "master", - "commit": "commit1" + "source": { + "gitRepository": "repository1", + "gitBranch": "master", + "gitCommit": "commit1" + } }, "currentPlatform": "6.1", "currentApplication": { - "id": "1.0.1-commit1", + "hash": "1.0.1-commit1", "build": 1, - "repository": "repository1", - "branch": "master", - "commit": "commit1" + "source": { + "gitRepository": "repository1", + "gitBranch": "master", + "gitCommit": "commit1" + } }, "tasks": { "deploy": "succeeded", @@ -265,11 +301,13 @@ "end": 0, "wantedPlatform": "6.1", "wantedApplication": { - "id": "1.0.1-commit1", + "hash": "1.0.1-commit1", "build": 1, - "repository": "repository1", - "branch": "master", - "commit": "commit1" + "source": { + "gitRepository": "repository1", + "gitBranch": "master", + "gitCommit": "commit1" + } }, "tasks": { "deploy": "succeeded", @@ -289,19 +327,23 @@ "start": 2000, "wantedPlatform": "6.1", "wantedApplication": { - "id": "1.0.3-commit1", + "hash": "1.0.3-commit1", "build": 3, - "repository": "repository1", - "branch": "master", - "commit": "commit1" + "source": { + "gitRepository": "repository1", + "gitBranch": "master", + "gitCommit": "commit1" + } }, "currentPlatform": "6.1", "currentApplication": { - "id": "1.0.2-commit1", + "hash": "1.0.2-commit1", "build": 2, - "repository": "repository1", - "branch": "master", - "commit": "commit1" + "source": { + "gitRepository": "repository1", + "gitBranch": "master", + "gitCommit": "commit1" + } }, "tasks": { "deploy": "succeeded", @@ -316,19 +358,23 @@ "end": 1000, "wantedPlatform": "6.1", "wantedApplication": { - "id": "1.0.2-commit1", + "hash": "1.0.2-commit1", "build": 2, - "repository": "repository1", - "branch": "master", - "commit": "commit1" + "source": { + "gitRepository": "repository1", + "gitBranch": "master", + "gitCommit": "commit1" + } }, "currentPlatform": "6.1", "currentApplication": { - "id": "1.0.1-commit1", + "hash": "1.0.1-commit1", "build": 1, - "repository": "repository1", - "branch": "master", - "commit": "commit1" + "source": { + "gitRepository": "repository1", + "gitBranch": "master", + "gitCommit": "commit1" + } }, "tasks": { "deploy": "succeeded", @@ -344,11 +390,13 @@ "end": 0, "wantedPlatform": "6.1", "wantedApplication": { - "id": "1.0.1-commit1", + "hash": "1.0.1-commit1", "build": 1, - "repository": "repository1", - "branch": "master", - "commit": "commit1" + "source": { + "gitRepository": "repository1", + "gitBranch": "master", + "gitCommit": "commit1" + } }, "tasks": { "deploy": "succeeded", @@ -366,19 +414,23 @@ "status": "pending", "wantedPlatform": "6.1", "wantedApplication": { - "id": "1.0.3-commit1", + "hash": "1.0.3-commit1", "build": 3, - "repository": "repository1", - "branch": "master", - "commit": "commit1" + "source": { + "gitRepository": "repository1", + "gitBranch": "master", + "gitCommit": "commit1" + } }, "currentPlatform": "6.1", "currentApplication": { - "id": "1.0.2-commit1", + "hash": "1.0.2-commit1", "build": 2, - "repository": "repository1", - "branch": "master", - "commit": "commit1" + "source": { + "gitRepository": "repository1", + "gitBranch": "master", + "gitCommit": "commit1" + } }, "tasks": { "production-us-central-1": "running" @@ -391,19 +443,23 @@ "end": 1000, "wantedPlatform": "6.1", "wantedApplication": { - "id": "1.0.2-commit1", + "hash": "1.0.2-commit1", "build": 2, - "repository": "repository1", - "branch": "master", - "commit": "commit1" + "source": { + "gitRepository": "repository1", + "gitBranch": "master", + "gitCommit": "commit1" + } }, "currentPlatform": "6.1", "currentApplication": { - "id": "1.0.1-commit1", + "hash": "1.0.1-commit1", "build": 1, - "repository": "repository1", - "branch": "master", - "commit": "commit1" + "source": { + "gitRepository": "repository1", + "gitBranch": "master", + "gitCommit": "commit1" + } }, "tasks": { "deploy": "succeeded", @@ -419,11 +475,13 @@ "end": 0, "wantedPlatform": "6.1", "wantedApplication": { - "id": "1.0.1-commit1", + "hash": "1.0.1-commit1", "build": 1, - "repository": "repository1", - "branch": "master", - "commit": "commit1" + "source": { + "gitRepository": "repository1", + "gitBranch": "master", + "gitCommit": "commit1" + } }, "tasks": { "deploy": "succeeded", @@ -441,19 +499,23 @@ "status": "pending", "wantedPlatform": "6.1", "wantedApplication": { - "id": "1.0.3-commit1", + "hash": "1.0.3-commit1", "build": 3, - "repository": "repository1", - "branch": "master", - "commit": "commit1" + "source": { + "gitRepository": "repository1", + "gitBranch": "master", + "gitCommit": "commit1" + } }, "currentPlatform": "6.1", "currentApplication": { - "id": "1.0.1-commit1", + "hash": "1.0.1-commit1", "build": 1, - "repository": "repository1", - "branch": "master", - "commit": "commit1" + "source": { + "gitRepository": "repository1", + "gitBranch": "master", + "gitCommit": "commit1" + } }, "tasks": { "staging-test": "failed", @@ -467,19 +529,23 @@ "end": 1000, "wantedPlatform": "6.1", "wantedApplication": { - "id": "1.0.2-commit1", + "hash": "1.0.2-commit1", "build": 2, - "repository": "repository1", - "branch": "master", - "commit": "commit1" + "source": { + "gitRepository": "repository1", + "gitBranch": "master", + "gitCommit": "commit1" + } }, "currentPlatform": "6.1", "currentApplication": { - "id": "1.0.1-commit1", + "hash": "1.0.1-commit1", "build": 1, - "repository": "repository1", - "branch": "master", - "commit": "commit1" + "source": { + "gitRepository": "repository1", + "gitBranch": "master", + "gitCommit": "commit1" + } }, "tasks": { "deploy": "failed" @@ -493,11 +559,13 @@ "end": 0, "wantedPlatform": "6.1", "wantedApplication": { - "id": "1.0.1-commit1", + "hash": "1.0.1-commit1", "build": 1, - "repository": "repository1", - "branch": "master", - "commit": "commit1" + "source": { + "gitRepository": "repository1", + "gitBranch": "master", + "gitCommit": "commit1" + } }, "tasks": { "deploy": "succeeded", diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/staging-runs.json b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/staging-runs.json index 448411b3912..8c5e5253482 100644 --- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/staging-runs.json +++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/staging-runs.json @@ -6,11 +6,13 @@ "end": 0, "wantedPlatform": "6.1", "wantedApplication": { - "id": "1.0.1-commit1", + "hash": "1.0.1-commit1", "build": 1, - "repository": "repository1", - "branch": "master", - "commit": "commit1" + "source": { + "gitRepository": "repository1", + "gitBranch": "master", + "gitCommit": "commit1" + } }, "steps": { "deployInitialReal": "succeeded", @@ -39,19 +41,23 @@ "end": 1000, "wantedPlatform": "6.1", "wantedApplication": { - "id": "1.0.2-commit1", + "hash": "1.0.2-commit1", "build": 2, - "repository": "repository1", - "branch": "master", - "commit": "commit1" + "source": { + "gitRepository": "repository1", + "gitBranch": "master", + "gitCommit": "commit1" + } }, "currentPlatform": "6.1", "currentApplication": { - "id": "1.0.1-commit1", + "hash": "1.0.1-commit1", "build": 1, - "repository": "repository1", - "branch": "master", - "commit": "commit1" + "source": { + "gitRepository": "repository1", + "gitBranch": "master", + "gitCommit": "commit1" + } }, "steps": { "deployInitialReal": "succeeded", @@ -80,19 +86,23 @@ "end": 2000, "wantedPlatform": "6.1", "wantedApplication": { - "id": "1.0.3-commit1", + "hash": "1.0.3-commit1", "build": 3, - "repository": "repository1", - "branch": "master", - "commit": "commit1" + "source": { + "gitRepository": "repository1", + "gitBranch": "master", + "gitCommit": "commit1" + } }, "currentPlatform": "6.1", "currentApplication": { - "id": "1.0.2-commit1", + "hash": "1.0.2-commit1", "build": 2, - "repository": "repository1", - "branch": "master", - "commit": "commit1" + "source": { + "gitRepository": "repository1", + "gitBranch": "master", + "gitCommit": "commit1" + } }, "steps": { "deployInitialReal": "succeeded", @@ -121,19 +131,23 @@ "end": 2000, "wantedPlatform": "6.1", "wantedApplication": { - "id": "1.0.3-commit1", + "hash": "1.0.3-commit1", "build": 3, - "repository": "repository1", - "branch": "master", - "commit": "commit1" + "source": { + "gitRepository": "repository1", + "gitBranch": "master", + "gitCommit": "commit1" + } }, "currentPlatform": "6.1", "currentApplication": { - "id": "1.0.1-commit1", + "hash": "1.0.1-commit1", "build": 1, - "repository": "repository1", - "branch": "master", - "commit": "commit1" + "source": { + "gitRepository": "repository1", + "gitBranch": "master", + "gitCommit": "commit1" + } }, "steps": { "deployInitialReal": "succeeded", |