summaryrefslogtreecommitdiffstats
path: root/controller-server
diff options
context:
space:
mode:
authorJon Marius Venstad <venstad@gmail.com>2019-10-08 22:19:35 +0200
committerJon Marius Venstad <venstad@gmail.com>2019-10-08 22:19:35 +0200
commit9f79879e1363dd9b62bd479a14a533bc1a06432e (patch)
tree63f269d2aa2c4c06363d301a0c3eb4f23fd26390 /controller-server
parenta52066ec4392a596ce3baabc90809614649107ad (diff)
Pick any instance and put rotation stuff in application level for now
Diffstat (limited to 'controller-server')
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiHandler.java28
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/application2-with-patches.json3
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/application2.json3
3 files changed, 27 insertions, 7 deletions
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 51cd306767a..c65bb6796b4 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
@@ -615,9 +615,9 @@ public class ApplicationApiHandler extends LoggingRequestHandler {
object.setString("tenant", application.id().tenant().value());
object.setString("application", application.id().application().value());
object.setString("deployments", withPath("/application/v4" +
- "/tenant/" + application.id().tenant().value() +
- "/application/" + application.id().application().value() +
- "/job/",
+ "/tenant/" + application.id().tenant().value() +
+ "/application/" + application.id().application().value() +
+ "/job/",
request.getUri()).toString());
application.latestVersion().ifPresent(version -> toSlime(version, object.setObject("latestVersion")));
@@ -625,11 +625,11 @@ public class ApplicationApiHandler extends LoggingRequestHandler {
application.projectId().ifPresent(id -> object.setLong("projectId", id));
// Currently deploying change
- if ( ! application.change().isEmpty())
+ if (!application.change().isEmpty())
toSlime(object.setObject("deploying"), application.change());
// Outstanding change
- if ( ! application.outstandingChange().isEmpty())
+ if (!application.outstandingChange().isEmpty())
toSlime(object.setObject("outstandingChange"), application.outstandingChange());
// Compile version. The version that should be used when building an application
@@ -658,6 +658,24 @@ public class ApplicationApiHandler extends LoggingRequestHandler {
application.ownershipIssueId().ifPresent(issueId -> object.setString("ownershipIssueId", issueId.value()));
application.owner().ifPresent(owner -> object.setString("owner", owner.username()));
application.deploymentIssueId().ifPresent(issueId -> object.setString("deploymentIssueId", issueId.value()));
+
+
+ // TODO jonmv: Remove when clients of the InstancesReply are updated
+ Cursor globalRotationsArray = object.setArray("globalRotations");
+ application.instances().values().stream().findFirst().ifPresent(instance -> {
+ instance.endpointsIn(controller.system())
+ .scope(Endpoint.Scope.global)
+ .legacy(false) // Hide legacy names
+ .asList().stream()
+ .map(Endpoint::url)
+ .map(URI::toString)
+ .forEach(globalRotationsArray::addString);
+
+ instance.rotations().stream()
+ .map(AssignedRotation::rotationId)
+ .findFirst()
+ .ifPresent(rotation -> object.setString("rotationId", rotation.asString()));
+ });
}
private void toSlime(Cursor object, Instance instance, DeploymentSpec deploymentSpec, HttpRequest request) {
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/application2-with-patches.json b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/application2-with-patches.json
index ad86fa34cde..78568f97da2 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/application2-with-patches.json
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/application2-with-patches.json
@@ -64,5 +64,6 @@
"queryServiceQuality": 0.0,
"writeServiceQuality": 0.0
},
- "activity": {}
+ "activity": {},
+ "globalRotations": []
}
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/application2.json b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/application2.json
index 6d89fa4ee20..153d43bb3ae 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/application2.json
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/application2.json
@@ -61,5 +61,6 @@
"queryServiceQuality": 0.0,
"writeServiceQuality": 0.0
},
- "activity": {}
+ "activity": {},
+ "globalRotations": []
}