Applying test fixes

In some scenarios, IBM® support provides a test fix for the reported software issue in Engineering Lifecycle Management on Hybrid Cloud. Typically, a test fix is released for an Engineering Lifecycle Management application.

Before you begin

  • A user with an admin or edit role in the project can apply or remove the test fix. For more information about the user roles, see User roles mapping in Engineering Lifecycle Management on Hybrid Cloud.
  • Verify that no test fix is applied to the Engineering Lifecycle Management application. If a test fix is applied, you must remove it from the Engineering Lifecycle Management application to apply another test fix.
  • Each test fix has specific prerequisites. Refer to the Readme file that accompanies the test fix for details.
    Note: If the build ID information is not provided in the test fix, contact IBM support to understand the process to verify the test fix version.
  • You must consider the Engineering Lifecycle Management application downtime when you apply the test fix.

About this task

Following are the 3 methods used to apply the test fixes:

Red Hat OpenShift Container Platform web console

Procedure

  1. Log in to the Red Hat® OpenShift® Container Platform web console.
  2. Go to Operators > Installed Operators and select the Engineering Lifecycle Management operator.
  3. Go to the ELM tab and select the Engineering Lifecycle Management instance.
  4. On the YAML tab, add the image property for the Engineering Lifecycle Management application and click Save.
    Note: You can add the image property for one or more Engineering Lifecycle Management applications at the same time. A unique image value is used for each Engineering Lifecycle Management application.
    <ELM-application-name>
      image: <repo-name>/<image-name><image-digest>
    Parameter Description
    <repo-name> The repository name that stores Engineering Lifecycle Management application images.

    Example: cp.icr.io/cp/ibm-elm

    <image-name><image-digest> Docker image name followed by its digest.

    Example: ibm-elm-jts@sha256:33a0202345370fba7c53d160b7b139be6341c268d307d5056d69ca2a410f723c

    In the following example, a test fix is applied to the JTS application.
    spec: 
      applications: 
        JTS: 
          dbName: JTS 
          image: cp.icr.io/cp/ibm-elm/ibm-elm-<app-name>@sha256:78ca8b31066d35515cfd5fe946c6fc3322104507694f3565b744be174900473e
    The Engineering Lifecycle Management operator applies the test fix image to the Engineering Lifecycle Management application.
  5. To verify that the test fix is applied to the Engineering Lifecycle Management application, check if the test fix version provided in Readme matches with the build ID information in application web page.
    1. Go to Networking > Routes
    2. Select the project where the Engineering Lifecycle Management instance is created.
    3. Search for the application route in the Name field and click the URL available in the Location field. The JAS login page opens.
    4. Log in to the JAS application by using your user ID and password.
      Important: You must use the login credentials that have administrative privileges in the application.
    5. To view the installed patch fixes, from the Help menu, click About This Application.
      Note: The Engineering Lifecycle Management custom resource status page does not show the status of the applied test fix.

Red Hat OpenShift CLI

Procedure

  1. Login to the cluster and fetch the ELM instance name using following command
    oc get elm -n <elm-namespace>
    Note: The application name (app-name) is case-sensitive in the following command.
  2. Apply the test fix or debug patch image to the respective application.
    oc patch elm <elm-instance-name> -n <elm-namespace> --type=merge -p '{"spec": {"applications": {"<APP-NAME>": {"image": "cp.icr.io/cp/ibm-elm/ibm-elm-<app-name>@sha256:<digest>"}}}}'
    In the following example, a test fix is applied to the JTS application
    oc patch elm example-elm -n elm-namespace --type=merge -p '{"spec": {"applications": {"JTS": {"image":"cp.icr.io/cp/ibm-elm/ibm-elm-jts@sha256:8d9207e327e51c909b019182ad7e7a0735089f4aa4783ceec1d90fe72e884c5b"}}}}'
  3. To verify that the test fix is applied to the Engineering Lifecycle Management application use the following command to view the patch version.
    1. Get the application URL and open in browser. The JAS login page opens
      oc get elm <elm-instance-name> -o jsonpath='{.spec.hostName}/{.spec.applications.<APP-NAME>.contextRoot}' -n <namespace-name> 

      Replace the elm-instance-name, namespace-name and APP-NAME. For example

      oc get elm elm-namespace -o jsonpath='{.spec.hostName}/{.spec.applications.JTS.contextRoot}' -n elm-namespace
    2. Log in to the JAS application by using your user ID and password.
      Important: You must use the login credentials that have administrative privileges in the application.
    3. To view the installed patch fixes, from the Help menu, click About This Application

Kubernetes CLI

Procedure

  1. Login to the cluster and fetch the ELM instance name using following command
    For Kubernetes CLI
    kubectl get elm -n <elm-namespace>
  2. Apply the test fix or debug patch image to the respective application.
    kubectl patch elm <elm-instance-name> -n <elm-namespace> --type=merge -p '{"spec": {"applications": {"<APP-NAME>": {"image": "cp.icr.io/cp/ibm-elm/ibm-elm-<app-name>@sha256:<digest>"}}}}'
    In the following example, a test fix is applied to the JTS application
    kubectl patch elm example-elm -n elm-namespace --type=merge -p '{"spec": {"applications": {"JTS": {"image":"cp.icr.io/cp/ibm-elm/ibm-elm-jts@sha256:8d9207e327e51c909b019182ad7e7a0735089f4aa4783ceec1d90fe72e884c5b"}}}}' 
  3. To verify that the test fix is applied to the Engineering Lifecycle Management application use the following command to view the patch version.
    1. Get the application URL and open in browser. The JAS login page opens
      kubectl get elm <elm-instance-name> -o jsonpath='{.spec.hostName}/{.spec.applications.<APP-NAME>.contextRoot}' -n <namespace-name> 

      Replace the elm-instance-name, namespace-name and APP-NAME. For example

      kubectl get elm elm-namespace -o jsonpath='{.spec.hostName}/{.spec.applications.JTS.contextRoot}' -n elm-namespace
    2. Log in to the JAS application by using your user ID and password.
      Important: You must use the login credentials that have administrative privileges in the application.
    3. To view the installed patch fixes, from the Help menu, click About This Application