Description of problem: openshift3/jenkins-agent-maven-35-rhel7:v3.11.232-3 has just been pushed to registry.redhat.io. This version includes now JDK 11 instead of JDK 8. Although it is very desirable and has been a long ask to have a Jenkins slave with JDK 11 this is a breaking change that caught users by surprise. Looking at /usr/local/bin/configure-agent inside the image there is: # javaC version is by default set to java-11. If a regression is faced, we must inject USE_JAVAC_VERSION=java-1.8.0 into the container agent so that the agent can use it export JAVAC_VERSION=${USE_JAVAC_VERSION:=java-11} but looking at the alternative I don't see java 8: bash-4.2$ alternatives --display javac javac - status is manual. link currently points to /usr/lib/jvm/java-11-openjdk-11.0.7.10-4.el7_8.x86_64/bin/javac /usr/lib/jvm/java-11-openjdk-11.0.7.10-4.el7_8.x86_64/bin/javac - family java-11-openjdk.x86_64 priority 1 slave appletviewer: (null) slave extcheck: (null) slave idlj: (null) slave jaotc: /usr/lib/jvm/java-11-openjdk-11.0.7.10-4.el7_8.x86_64/bin/jaotc slave jar: /usr/lib/jvm/java-11-openjdk-11.0.7.10-4.el7_8.x86_64/bin/jar slave jarsigner: /usr/lib/jvm/java-11-openjdk-11.0.7.10-4.el7_8.x86_64/bin/jarsigner slave javadoc: /usr/lib/jvm/java-11-openjdk-11.0.7.10-4.el7_8.x86_64/bin/javadoc slave javah: (null) slave javap: /usr/lib/jvm/java-11-openjdk-11.0.7.10-4.el7_8.x86_64/bin/javap slave jcmd: /usr/lib/jvm/java-11-openjdk-11.0.7.10-4.el7_8.x86_64/bin/jcmd slave jconsole: /usr/lib/jvm/java-11-openjdk-11.0.7.10-4.el7_8.x86_64/bin/jconsole slave jdb: /usr/lib/jvm/java-11-openjdk-11.0.7.10-4.el7_8.x86_64/bin/jdb slave jdeprscan: /usr/lib/jvm/java-11-openjdk-11.0.7.10-4.el7_8.x86_64/bin/jdeprscan slave jdeps: /usr/lib/jvm/java-11-openjdk-11.0.7.10-4.el7_8.x86_64/bin/jdeps slave jfr: /usr/lib/jvm/java-11-openjdk-11.0.7.10-4.el7_8.x86_64/bin/jfr slave jhat: (null) slave jhsdb: /usr/lib/jvm/java-11-openjdk-11.0.7.10-4.el7_8.x86_64/bin/jhsdb slave jimage: /usr/lib/jvm/java-11-openjdk-11.0.7.10-4.el7_8.x86_64/bin/jimage slave jinfo: /usr/lib/jvm/java-11-openjdk-11.0.7.10-4.el7_8.x86_64/bin/jinfo slave jlink: /usr/lib/jvm/java-11-openjdk-11.0.7.10-4.el7_8.x86_64/bin/jlink slave jmap: /usr/lib/jvm/java-11-openjdk-11.0.7.10-4.el7_8.x86_64/bin/jmap slave jmod: /usr/lib/jvm/java-11-openjdk-11.0.7.10-4.el7_8.x86_64/bin/jmod slave jps: /usr/lib/jvm/java-11-openjdk-11.0.7.10-4.el7_8.x86_64/bin/jps slave jrunscript: /usr/lib/jvm/java-11-openjdk-11.0.7.10-4.el7_8.x86_64/bin/jrunscript slave jsadebugd: (null) slave jshell: /usr/lib/jvm/java-11-openjdk-11.0.7.10-4.el7_8.x86_64/bin/jshell slave jstack: /usr/lib/jvm/java-11-openjdk-11.0.7.10-4.el7_8.x86_64/bin/jstack slave jstat: /usr/lib/jvm/java-11-openjdk-11.0.7.10-4.el7_8.x86_64/bin/jstat slave jstatd: /usr/lib/jvm/java-11-openjdk-11.0.7.10-4.el7_8.x86_64/bin/jstatd slave native2ascii: (null) slave rmic: /usr/lib/jvm/java-11-openjdk-11.0.7.10-4.el7_8.x86_64/bin/rmic slave schemagen: (null) slave serialver: /usr/lib/jvm/java-11-openjdk-11.0.7.10-4.el7_8.x86_64/bin/serialver slave wsgen: (null) slave wsimport: (null) slave xjc: (null) slave java_sdk_exports: (null) slave java_sdk: /usr/lib/jvm/java-11-openjdk-11.0.7.10-4.el7_8.x86_64 slave appletviewer.1.gz: (null) slave extcheck.1.gz: (null) slave idlj.1.gz: (null) slave jar.1.gz: /usr/share/man/man1/jar-java-11-openjdk-11.0.7.10-4.el7_8.x86_64.1.gz slave jarsigner.1.gz: /usr/share/man/man1/jarsigner-java-11-openjdk-11.0.7.10-4.el7_8.x86_64.1.gz slave javac.1.gz: /usr/share/man/man1/javac-java-11-openjdk-11.0.7.10-4.el7_8.x86_64.1.gz slave javadoc.1.gz: /usr/share/man/man1/javadoc-java-11-openjdk-11.0.7.10-4.el7_8.x86_64.1.gz slave javah.1.gz: (null) slave javap.1.gz: /usr/share/man/man1/javap-java-11-openjdk-11.0.7.10-4.el7_8.x86_64.1.gz slave jcmd.1.gz: /usr/share/man/man1/jcmd-java-11-openjdk-11.0.7.10-4.el7_8.x86_64.1.gz slave jconsole.1.gz: /usr/share/man/man1/jconsole-java-11-openjdk-11.0.7.10-4.el7_8.x86_64.1.gz slave jdb.1.gz: /usr/share/man/man1/jdb-java-11-openjdk-11.0.7.10-4.el7_8.x86_64.1.gz slave jdeps.1.gz: /usr/share/man/man1/jdeps-java-11-openjdk-11.0.7.10-4.el7_8.x86_64.1.gz slave jhat.1.gz: (null) slave jinfo.1.gz: /usr/share/man/man1/jinfo-java-11-openjdk-11.0.7.10-4.el7_8.x86_64.1.gz slave jmap.1.gz: /usr/share/man/man1/jmap-java-11-openjdk-11.0.7.10-4.el7_8.x86_64.1.gz slave jps.1.gz: /usr/share/man/man1/jps-java-11-openjdk-11.0.7.10-4.el7_8.x86_64.1.gz slave jrunscript.1.gz: /usr/share/man/man1/jrunscript-java-11-openjdk-11.0.7.10-4.el7_8.x86_64.1.gz slave jsadebugd.1.gz: (null) slave jstack.1.gz: /usr/share/man/man1/jstack-java-11-openjdk-11.0.7.10-4.el7_8.x86_64.1.gz slave jstat.1.gz: /usr/share/man/man1/jstat-java-11-openjdk-11.0.7.10-4.el7_8.x86_64.1.gz slave jstatd.1.gz: /usr/share/man/man1/jstatd-java-11-openjdk-11.0.7.10-4.el7_8.x86_64.1.gz slave native2ascii.1.gz: (null) slave rmic.1.gz: /usr/share/man/man1/rmic-java-11-openjdk-11.0.7.10-4.el7_8.x86_64.1.gz slave schemagen.1.gz: (null) slave serialver.1.gz: /usr/share/man/man1/serialver-java-11-openjdk-11.0.7.10-4.el7_8.x86_64.1.gz slave wsgen.1.gz: (null) slave wsimport.1.gz: (null) slave xjc.1.gz: (null) Current `best' version is /usr/lib/jvm/java-11-openjdk-11.0.7.10-4.el7_8.x86_64/bin/javac. Also it would be preferable to have it the other way around to avoid breaking existing builds. Example: https://stackoverflow.com/questions/43574426/how-to-resolve-java-lang-noclassdeffounderror-javax-xml-bind-jaxbexception-in-j Version-Release number of selected component (if applicable): v3.11.232-3 How reproducible: Always Steps to Reproduce: 1. podman run --name=maven-slave -it registry.redhat.io/openshift3/jenkins-agent-maven-35-rhel7 /bin/bash Actual results: Container with JDK 11 Expected results: Container with JDK 11 & JDK 8, defaulting to JDK 8. Additional info:
VERIFIED ✘ jsingh@localhost ~/go/src/github.com/redhat-developer/jenkins jenkins-test ●✚ oc rsh maven-tkb34 sh-4.2$ update-alternatives --config java There are 4 programs which provide 'java'. Selection Command ----------------------------------------------- 1 java-11-openjdk.x86_64 (/usr/lib/jvm/java-11-openjdk-11.0.8.10-0.el7_8.x86_64/bin/java) 2 java-11-openjdk.i386 (/usr/lib/jvm/java-11-openjdk-11.0.8.10-0.el7_8.i386/bin/java) *+ 3 java-1.8.0-openjdk.x86_64 (/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.262.b10-0.el7_8.x86_64/jre/bin/java) 4 java-1.8.0-openjdk.i386 (/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.262.b10-0.el7_8.i386/jre/bin/java) used nightly- https://brewweb.engineering.redhat.com/brew/buildinfo?buildID=1286526 Trigred the maven pipeline job using the above nightly and everything works fine.
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory (OpenShift Container Platform 3.11.272 bug fix and enhancement update), and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHBA-2020:3245