aboutsummaryrefslogtreecommitdiffstats
path: root/node-admin
diff options
context:
space:
mode:
authorValerij Fredriksen <freva@users.noreply.github.com>2018-02-08 09:49:24 +0100
committerGitHub <noreply@github.com>2018-02-08 09:49:24 +0100
commite4d79a49bf765fc17ff3427fa7463f74fe0028dc (patch)
tree1c12fcccbfb665919f123ee7f4cf8d0e990d8076 /node-admin
parent6f48606d0066595ed9a7e4514c1e5fcf0460fbb6 (diff)
parent9806cfb8493cde8c8377fd54bb6e37bef7919b52 (diff)
Merge pull request #4956 from vespa-engine/freva/stabilize-node-admin-test
Stabilize node-admin test
Diffstat (limited to 'node-admin')
-rw-r--r--node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/noderepository/NodeRepositoryImplTest.java20
1 files changed, 16 insertions, 4 deletions
diff --git a/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/noderepository/NodeRepositoryImplTest.java b/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/noderepository/NodeRepositoryImplTest.java
index 85d92dbee25..949b4ccdf78 100644
--- a/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/noderepository/NodeRepositoryImplTest.java
+++ b/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/noderepository/NodeRepositoryImplTest.java
@@ -55,10 +55,22 @@ public class NodeRepositoryImplTest {
*/
@Before
public void startContainer() throws Exception {
- final int port = findRandomOpenPort();
- requestExecutor = ConfigServerHttpRequestExecutor.create(
- Collections.singleton(URI.create("http://127.0.0.1:" + port)), Optional.empty(), Optional.empty(), Optional.empty());
- container = JDisc.fromServicesXml(ContainerConfig.servicesXmlV2(port), Networking.enable);
+ Exception lastException = null;
+
+ // This tries to bind a random open port for the node-repo mock, which is a race condition, so try
+ // a few times before giving up
+ for (int i = 0; i < 3; i++) {
+ try {
+ final int port = findRandomOpenPort();
+ container = JDisc.fromServicesXml(ContainerConfig.servicesXmlV2(port), Networking.enable);
+ requestExecutor = ConfigServerHttpRequestExecutor.create(
+ Collections.singleton(URI.create("http://127.0.0.1:" + port)), Optional.empty(), Optional.empty(), Optional.empty());
+ return;
+ } catch (RuntimeException e) {
+ lastException = e;
+ }
+ }
+ throw new RuntimeException("Failed to bind a port in three attempts, giving up", lastException);
}
private void waitForJdiscContainerToServe() throws InterruptedException {