OpenJDK to IBM Semeru Transition Template for IBM Power (ppc64le) and IBM Z (s390x) OpenShift Images
Early in 2022, Red Hat made an announcement that they would be changing the JVM in the OpenShift containers provided for IBM Power (ppc64le) and IBM Z (s390x) from Eclipse OpenJ9 to the Red Hat build of OpenJDK. Red Hat now provides a new OpenShift template to help you transition from the Red Hat build of OpenJDK 11 to IBM Semeru 11 Certified Edition. You can access the template at Content from github.com is not included.Content from github.com is not included.https://github.com/openshift/library.git.
In the future releases of OpenShift, this template will be available by default within the openshift namespace on IBM Power and IBM Z OpenShift clusters.
The OpenShift template has been verified for the following products:
- Red Hat JBoss Enterprise Application Platform (EAP)
- Red Hat JBoss Enterprise Application Platform expansion pack (EAP XP)
- Red Hat JBoss Web Server (JWS)
- Red Hat Single Sign-On (RH-SSO)
- Red Hat Data Grid (RHDG)
- Red Hat AMQ Broker
- Red Hat Fuse
- Red Hat build of Quarkus, Red Hat build of Eclipse Vert.x, and Red Hat Support for Spring Boot
- Red Hat build of OpenJDK
Transition Template
The Openshift template takes a Red Hat container image based on OpenJDK 11 and generates a new container by replacing the existing OpenJDK 11 with IBM Semeru 11 Certified Edition.
How it works
The template defines three ImageStreams and a BuildConfig.
The following two input ImageStreams periodically check the image source to ensure that the images are up to date with their linked image catalogs:
- IBM Semeru 11 Certified container image
- OpenJDK 11 based Red Hat container image
There is one output ImageStream for the newly created IBM Semeru 11 based Red Hat container image.
The BuildConfig copies the /opt directory from the IBM Semeru 11 Certified container image into the OpenJDK 11 based Red Hat container image and creates the new IBM Semeru 11 based Red Hat container image. The BuildConfig contains triggers that will automatically rebuild the image if there are configuration changes or if the input ImageStreams are updated. Once built, the newly created IBM Semeru 11 based Red Hat container image is available in the OpenShift internal image repository and output ImageStream.
Importing the OpenShift Template
You must import the template into the namespace of your OpenShift project.
oc project <project-name>
oc replace --force -f https://raw.githubusercontent.com/openshift/library/master/official/semeru/templates/openjdk-to-semeru-transition.json
Deploying the OpenShift Template
You can deploy the template on OpenShift in the following ways:
- Using command-line parameters:
oc new-app --template openjdk-to-semeru-transition \
-p OPENJDK_BASED_RED_HAT_CONTAINER_IMAGE=registry.redhat.io/jboss-webserver-5/jws56-openjdk11-openshift-rhel8:latest \
-p OPENJDK_BASED_RED_HAT_CONTAINER_IMAGESTREAM_NAME=jws56-openjdk11-openshift-rhel8 \
-p SEMERU_BASED_RED_HAT_CONTAINER_IMAGESTREAM_NAME=jws56-openj9-11-openshift-rhel8
- Using command-line with a parameter file
params.env:
OPENJDK_BASED_RED_HAT_CONTAINER_IMAGE=registry.redhat.io/jboss-webserver-5/jws56-openjdk11-openshift-rhel8:latest
OPENJDK_BASED_RED_HAT_CONTAINER_IMAGESTREAM_NAME=jws56-openjdk11-openshift-rhel8
SEMERU_BASED_RED_HAT_CONTAINER_IMAGESTREAM_NAME=jws56-openj9-11-openshift-rhel8
oc process openjdk-to-semeru-transition --param-file=params.env | oc create -f -
Verified Products
Red Hat JBoss Enterprise Application Platform (EAP)
- This content is not included.jboss-eap-7/eap74-openjdk11-openshift-rhel8
- This content is not included.jboss-eap-7/eap74-openjdk11-runtime-openshift-rhel8
Red Hat JBoss Enterprise Application Platform expansion pack (EAP XP)
- This content is not included.jboss-eap-7/eap-xp3-openjdk11-openshift-rhel8
- This content is not included.jboss-eap-7/eap-xp3-openjdk11-runtime-openshift-rhel8
- This content is not included.jboss-eap-7/eap-xp4-openjdk11-openshift-rhel8
- This content is not included.jboss-eap-7/eap-xp4-openjdk11-runtime-openshift-rhel8
Red Hat JBoss Web Server (JWS)
Red Hat Single Sign-On (RH-SSO)
Red Hat Data Grid (RHDG)
Red Hat AMQ Broker
Red Hat Fuse
Red Hat build of Quarkus, Red Hat build of Eclipse Vert.x, and Red Hat Support for Spring Boot
Red Hat does not provide container images for Quarkus, Eclipse Vert.x, and Spring Boot applications. These application platforms rely on the S2I images to build application container images. For these application platforms you should use the transition template for the Red Hat build of OpenJDK.
Red Hat build of OpenJDK
Additional Notes
Non JBoss based Red Hat Containers
The OpenShift template is designed to work on JBoss based Red Hat containers. All the products mentioned in this article are JBoss based Red Hat containers. The username and user ID in the Dockerfile in the template are written specifically for JBoss, that is, the username is jboss and user ID is 185. If you want to use this template with non JBoss based Red Hat containers, you will have to modify the username and user ID in the Content from github.com is not included.Dockerfile of the template. You should update the template to match the username and user ID of your own specified Red Hat container.
For example:
For the Red Hat Process Automation Manager (RHPAM) containers, the username and user ID are kogito and 1001 respectively.
Red Hat Containers based on OpenJDK 17
Most of the OpenShift containers supported on IBM Power and IBM Z are based on OpenJDK 11. However, more and more products are supporting OpenJDK 17. Here are some examples of some Red Hat products that are based on OpenJDK 17:
- This content is not included.amq7/amq-broker-rhel8
- This content is not included.jboss-eap-7-tech-preview/eap74-openjdk17-openshift-rhel8
- This content is not included.jboss-eap-7-tech-preview/eap74-openjdk17-runtime-openshift-rhel8
If you want to use this template for OpenJDK 17 based Red Hat containers, you should update the Content from github.com is not included.ImageStream tag from certified-11-jdk-ubi-minimal to certified-17-jdk-ubi-minimal.
Operator Support
This template is used to create custom Red Hat images with IBM Semeru. Therefore by default, Red Hat product operators have no capability of managing these custom images. Updates to the custom Red Hat images with IBM Semeru will be handled by the template BuildConfig triggers as mentioned in the article.