-
-
Notifications
You must be signed in to change notification settings - Fork 314
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Elasticsearch tests requires jdk not jre #974
Comments
This is actually a common issue. The test hotspot docker images from AdoptOpenJDK with 8 and 11 is JDK. However the test openj9 docker images from AdoptOpenJDK with 8 and 11 is jre. Will get more information and open an issue in https://github.com/AdoptOpenJDK/openjdk-docker, which suppose provide JDK as default. |
I think we just need to use the right tag in order to pull the correct docker image from docker hub, otherwise we just pull "latest" tag which is for a jre image. https://hub.docker.com/r/adoptopenjdk/openjdk8-openj9/tags Usage: |
The thing is for hotspot we are also pulling "latest", which is JDK image instead. Guess there is difference between hotspot and openj9, say hotspot is a default one and corresponding has different behavior? Will try to get more information. |
Guess https://github.com/AdoptOpenJDK/openjdk-docker readme is out of date |
There are jre (102M) and latest (171M) tag under https://hub.docker.com/r/adoptopenjdk/openjdk8-openj9/tags. So latest should be for JDK? |
Best to double-check what we are downloading and then check with @dinogun and/or raise an openjdk-docker issue then. |
Another issue is I'm thinking should we also use nightly tag instead of latest as we expect to run the docker image every night? |
I think selecting which tag to use is also related to #773 - what build job or pipeline should be triggering these tests. Currently they are triggered from the main build pipelines, but the docker builds are not built via the main build pipelines, so we need to also correct that. What build job creates the nightly images at docker hub? and what is the best way to trigger these test jobs from it? @dinogun @karianna @johnoliver - is there an intent to integrate docker builds into the overall build pipeline? or will they remain separate? |
I would argue the docket builds should also go in, as when cutting down to make slim images we could introduce regressions. I think we'll need to carefull omit certain test areas though. |
jre issue opened. AdoptOpenJDK/openjdk-docker#122 |
Agree with #974 (comment) - we should clearly state which tests use which images and make a plan to test a range of the ones produced. |
Using nightly in my personal branch (also delete the workaround) got:
and
https://ci.adoptopenjdk.net/view/Test_grinder/job/Grinder/1278/consoleFull |
For jdk11 failure "Could not determine java version from '11.0.2'.' Looks like a gradle support issue, https://stackoverflow.com/questions/54358107/gradle-could-not-determine-java-version-from-11-0-2 Update gradle version may helps. I will try that. |
Revisit by trying with adoptopenjdk/openjdk8-openj9:latest and original test material can't reproduce the error 'ps executable not found; ensure that you're running Gradle with the JDK rather than the JRE'. https://ci.adoptopenjdk.net/view/work%20in%20progress/job/Grinder_Sandbox/314/consoleFull Will update. |
Discussion about #974 (comment) will be continued in #773. |
Elasticsearch jdk8 tests are failing as we are basing our test docker images from AdoptOpenJDK docker images that are jre not jdk builds. Our images are using xxx but should maybe use for jdk11: https://github.com/AdoptOpenJDK/openjdk-docker/blob/master/11/jdk/ubuntu/Dockerfile.openj9.nightly.full (jdk11u-nightly tag)
for jdk8: https://github.com/AdoptOpenJDK/openjdk-docker/blob/master/8/jdk/ubuntu/Dockerfile.openj9.nightly.full (jdk8u-nightly tag)
From recent grinder output:
23:32:57 Using docker image default Java
23:32:57 JAVA_BIN is: /opt/java/openjdk/bin
23:32:57 openjdk version "1.8.0_202"
23:32:57 OpenJDK Runtime Environment (build 1.8.0_202-b08)
23:32:57 Eclipse OpenJ9 VM (build openj9-0.12.1, JRE 1.8.0 Linux amd64-64-Bit Compressed References 20190205_213 (JIT enabled, AOT enabled)
23:32:57 OpenJ9 - 90dd8cb40
23:32:57 OMR - d2f4534b
23:32:57 JCL - d002501a90 based on jdk8u202-b08)
23:37:15 FAILURE: Build failed with an exception.
23:37:15
23:37:15 * What went wrong:
23:37:15 A problem occurred configuring project ':distribution'.
23:37:15 > jps executable not found; ensure that you're running Gradle with the JDK rather than the JRE
23:37:15
Additionally, there was a workaround added at https://github.com/AdoptOpenJDK/openjdk-tests/blob/master/thirdparty_containers/elasticsearch/dockerfile/elasticsearch-test.sh#L59-L63 for OpenJ9 prior to that implementation supporting jps tool. That workaround may not actually be working, as seen by this output:
23:32:58 /elasticsearch-test.sh: line 61: /opt/java/openjdk/bin/jps: Permission denied
23:32:58 chmod: cannot access '/opt/java/openjdk/bin/jps': No such file or directory
but should no longer be needed as OpenJ9 now has the jps tool.
From another Grinder output, jdk11 Elasticsearch tests fail with:
02:28:39 FAILURE: Build failed with an exception.
02:28:39
02:28:39 * What went wrong:
02:28:39 Could not determine java version from '11.0.2'.
The text was updated successfully, but these errors were encountered: