Bug 1848611 - openshift3/jenkins-agent-maven-35-rhel7:v3.11.232-3 includes JDK 11 and is missing JDK 8: breaking change
Summary: openshift3/jenkins-agent-maven-35-rhel7:v3.11.232-3 includes JDK 11 and is mi...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: OpenShift Container Platform
Classification: Red Hat
Component: Jenkins
Version: 3.11.0
Hardware: Unspecified
OS: Unspecified
unspecified
high
Target Milestone: ---
: 3.11.z
Assignee: Akram Ben Aissi
QA Contact: Jitendar Singh
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2020-06-18 15:41 UTC by Frederic Giloux
Modified: 2023-12-15 18:13 UTC (History)
6 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2020-08-26 22:44:37 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Github openshift jenkins pull 1086 0 None closed Bug 1848611: OpenJDK1.8 as default for maven35 agent 2020-12-03 13:52:05 UTC
Github openshift jenkins pull 1135 0 None closed [openshift-3.11] Bug 1848611: Remove execution of rpm -e java-1.8.0. 2020-12-03 13:52:03 UTC
Red Hat Product Errata RHBA-2020:3245 0 None None None 2020-08-26 22:44:51 UTC

Description Frederic Giloux 2020-06-18 15:41:47 UTC
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:

Comment 16 Jitendar Singh 2020-08-13 08:46:27 UTC
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.

Comment 18 errata-xmlrpc 2020-08-26 22:44:37 UTC
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


Note You need to log in before you can comment on or make changes to this bug.