OpenJDK to IBM Semeru Transition Template for IBM Power (ppc64le) and IBM Z (s390x) OpenShift Images

Updated

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:

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)

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 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:

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.

Category
Article Type