summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJon Marius Venstad <jvenstad@yahoo-inc.com>2018-09-11 15:25:05 +0200
committerJon Marius Venstad <jvenstad@yahoo-inc.com>2018-09-11 15:25:05 +0200
commit31da06c1ae51ff6435972608d1a6034c390c1731 (patch)
treef08acafef927ea664bdba013b2a42aed27db64a7
parent5f7585c3f9f08b2e64bb82af2cf3f5f77dff0521 (diff)
Wait for explicit OK from tester
-rw-r--r--controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/deployment/TesterCloud.java3
-rw-r--r--controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/stubs/MockTesterCloud.java5
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/InternalStepRunner.java2
3 files changed, 9 insertions, 1 deletions
diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/deployment/TesterCloud.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/deployment/TesterCloud.java
index f2dbcda54b6..cb6332420ed 100644
--- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/deployment/TesterCloud.java
+++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/deployment/TesterCloud.java
@@ -21,6 +21,9 @@ public interface TesterCloud {
/** Returns the current status of the tester. */
Status getStatus(URI testerUrl);
+ /** Returns whether the tester is ready to serve. */
+ boolean ready(URI testerUrl);
+
enum Status {
diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/stubs/MockTesterCloud.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/stubs/MockTesterCloud.java
index 176fa8ae683..2f2eff99a4f 100644
--- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/stubs/MockTesterCloud.java
+++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/stubs/MockTesterCloud.java
@@ -37,6 +37,11 @@ public class MockTesterCloud implements TesterCloud {
return status;
}
+ @Override
+ public boolean ready(URI resterUrl) {
+ return true;
+ }
+
public void add(LogEntry entry) {
log.add(entry);
}
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 0b9b68f8e09..2bb878366c5 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
@@ -333,7 +333,7 @@ public class InternalStepRunner implements StepRunner {
}
Optional<URI> testerEndpoint = controller.jobController().testerEndpoint(id);
- if (testerEndpoint.isPresent()) {
+ if (testerEndpoint.isPresent() && controller.jobController().cloud().ready(testerEndpoint.get())) {
logger.log("Starting tests ...");
controller.jobController().cloud().startTests(testerEndpoint.get(),
TesterCloud.Suite.of(id.type()),