diff --git a/muted-tests.yml b/muted-tests.yml index c25d5c0faf6e5..7b103e9da748e 100644 --- a/muted-tests.yml +++ b/muted-tests.yml @@ -369,8 +369,6 @@ tests: - class: org.elasticsearch.xpack.test.rest.XPackRestIT method: test {p0=snapshot/20_operator_privileges_disabled/Operator only settings can be set and restored by non-operator user when operator privileges is disabled} issue: https://github.com/elastic/elasticsearch/issues/120973 -- class: org.elasticsearch.packaging.test.DockerTests - issue: https://github.com/elastic/elasticsearch/issues/120978 - class: org.elasticsearch.xpack.security.authc.service.ServiceAccountIT method: testAuthenticateShouldNotFallThroughInCaseOfFailure issue: https://github.com/elastic/elasticsearch/issues/120902 @@ -484,4 +482,4 @@ tests: issue: https://github.com/elastic/elasticsearch/issues/115528 - class: org.elasticsearch.packaging.test.EnrollmentProcessTests method: test20DockerAutoFormCluster - issue: https://github.com/elastic/elasticsearch/issues/128113 + issue: https://github.com/elastic/elasticsearch/issues/128113 \ No newline at end of file diff --git a/qa/packaging/src/test/java/org/elasticsearch/packaging/test/PackagingTestCase.java b/qa/packaging/src/test/java/org/elasticsearch/packaging/test/PackagingTestCase.java index b4a00ca56924a..f93ba5a319e33 100644 --- a/qa/packaging/src/test/java/org/elasticsearch/packaging/test/PackagingTestCase.java +++ b/qa/packaging/src/test/java/org/elasticsearch/packaging/test/PackagingTestCase.java @@ -145,6 +145,10 @@ public abstract class PackagingTestCase extends Assert { @Override protected void failed(Throwable e, Description description) { failed = true; + if (installation != null && installation.distribution.isDocker()) { + logger.warn("Test {} failed. Printing logs for failed test...", description.getMethodName()); + dumpDebug(); + } } }; diff --git a/qa/packaging/src/test/java/org/elasticsearch/packaging/util/ServerUtils.java b/qa/packaging/src/test/java/org/elasticsearch/packaging/util/ServerUtils.java index ea71308b11940..f915388011ed9 100644 --- a/qa/packaging/src/test/java/org/elasticsearch/packaging/util/ServerUtils.java +++ b/qa/packaging/src/test/java/org/elasticsearch/packaging/util/ServerUtils.java @@ -150,7 +150,19 @@ private static HttpResponse execute(Request request, String username, String pas executor.auth(username, password); executor.authPreemptive(new HttpHost("localhost", 9200)); } - return executor.execute(request).returnResponse(); + try { + return executor.execute(request).returnResponse(); + } catch (Exception e) { + logger.warn( + "Failed to execute request [{}] with username/password [{}/{}] and caCert [{}]", + request.toString(), + username, + password, + caCert, + e + ); + throw e; + } } // polls every two seconds for Elasticsearch to be running on 9200 @@ -238,14 +250,13 @@ public static void waitForElasticsearch( long timeElapsed = 0; boolean started = false; Throwable thrownException = null; - if (caCert == null) { - caCert = getCaCert(installation); - } while (started == false && timeElapsed < waitTime) { if (System.currentTimeMillis() - lastRequest > requestInterval) { + if (caCert == null) { + caCert = getCaCert(installation); + } try { - final HttpResponse response = execute( Request.Get((caCert != null ? "https" : "http") + "://localhost:9200/_cluster/health") .connectTimeout((int) timeoutLength) @@ -276,7 +287,7 @@ public static void waitForElasticsearch( } started = true; - } catch (IOException e) { + } catch (Exception e) { if (thrownException == null) { thrownException = e; } else { diff --git a/qa/packaging/src/test/java/org/elasticsearch/packaging/util/docker/Docker.java b/qa/packaging/src/test/java/org/elasticsearch/packaging/util/docker/Docker.java index ff1f3a9314597..3c70739751447 100644 --- a/qa/packaging/src/test/java/org/elasticsearch/packaging/util/docker/Docker.java +++ b/qa/packaging/src/test/java/org/elasticsearch/packaging/util/docker/Docker.java @@ -73,7 +73,7 @@ public class Docker { public static final Shell sh = new Shell(); public static final DockerShell dockerShell = new DockerShell(); public static final int STARTUP_SLEEP_INTERVAL_MILLISECONDS = 1000; - public static final int STARTUP_ATTEMPTS_MAX = 30; + public static final int STARTUP_ATTEMPTS_MAX = 45; private static final String ELASTICSEARCH_FULL_CLASSNAME = "org.elasticsearch.bootstrap.Elasticsearch"; private static final String FIND_ELASTICSEARCH_PROCESS = "for pid in $(ps -eo pid,comm | grep java | awk '\\''{print $1}'\\''); "