diff options
author | Valerij Fredriksen <freva@users.noreply.github.com> | 2018-02-08 09:49:24 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-02-08 09:49:24 +0100 |
commit | e4d79a49bf765fc17ff3427fa7463f74fe0028dc (patch) | |
tree | 1c12fcccbfb665919f123ee7f4cf8d0e990d8076 | |
parent | 6f48606d0066595ed9a7e4514c1e5fcf0460fbb6 (diff) | |
parent | 9806cfb8493cde8c8377fd54bb6e37bef7919b52 (diff) |
Merge pull request #4956 from vespa-engine/freva/stabilize-node-admin-test
Stabilize node-admin test
-rw-r--r-- | node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/noderepository/NodeRepositoryImplTest.java | 20 |
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 { |