summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJon Marius Venstad <venstad@gmail.com>2019-09-18 11:17:06 +0200
committerJon Marius Venstad <venstad@gmail.com>2019-09-18 11:17:06 +0200
commit1f7631bd02a543d3ddb55294f0abe5fa5c938836 (patch)
treee1c58b54669e8107bd90f53e42d032f1ccba97f6
parent58d1a577ed35a5415ea94b037de60e4211322245 (diff)
More URI rewriting
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/InternalStepRunner.java8
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/JobController.java14
2 files changed, 15 insertions, 7 deletions
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/InternalStepRunner.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/InternalStepRunner.java
index b40677a5dc9..69de59e55eb 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/InternalStepRunner.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/InternalStepRunner.java
@@ -347,11 +347,13 @@ public class InternalStepRunner implements StepRunner {
if ( ! endpoints.containsKey(zoneId))
return false;
- for (URI endpoint : endpoints.get(zoneId).values())
- if ( ! controller.jobController().cloud().ready(endpoint)) {
- logger.log("Failed to get 100 consecutive OKs from " + endpoint);
+ for (URI endpoint : endpoints.get(zoneId).values()) {
+ URI workingEndpoint = controller.jobController().withWorkingSchemeAndPort(endpoint, id);
+ if ( ! controller.jobController().cloud().ready(workingEndpoint)) {
+ logger.log("Failed to get 100 consecutive OKs from " + workingEndpoint);
return false;
}
+ }
return true;
}
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 8ffcfb9c106..765cb465f50 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
@@ -447,15 +447,21 @@ public class JobController {
/** Returns a URI of the tester endpoint retrieved from the routing generator, provided it matches an expected form. */
Optional<URI> testerEndpoint(RunId id) {
DeploymentId testerId = new DeploymentId(id.tester().id(), id.type().zone(controller.system()));
- boolean useHttp = controller.system().isPublic()
- && ! directRoutingUseHttps.with(FetchVector.Dimension.APPLICATION_ID, id.tester().id().serializedForm()).value();
return controller.applications().getDeploymentEndpoints(testerId)
.stream().findAny()
.or(() -> controller.applications().routingPolicies().get(testerId).stream()
.findAny()
.map(policy -> policy.endpointIn(controller.system()).url()))
- // TODO jvenstad: Remove ugly thing when public deployments have a valid web certificate.
- .map(uri -> useHttp ? URI.create("http://" + uri.getHost() + ":443/") : uri);
+ .map(url -> withWorkingSchemeAndPort(url, id.tester().id()));
+ }
+
+ // TODO jvenstad: Remove ugly thing when public deployments have a valid web certificate.
+ URI withWorkingSchemeAndPort(URI url, ApplicationId id) {
+ if ( ! controller.system().isPublic()
+ || directRoutingUseHttps.with(FetchVector.Dimension.APPLICATION_ID, id.serializedForm()).value())
+ return url;
+
+ return URI.create("http://" + url.getHost() + ":443/");
}
/** Returns a set containing the zone of the deployment tested in the given run, and all production zones for the application. */