Upgrading Engineering Lifecycle Management instance by using Red Hat OpenShift CLI

You can upgrade the Engineering Lifecycle Management instance by using Red Hat® OpenShift® CLI method.

Before you begin

  1. Ensure that the Engineering Lifecycle Management operator is upgraded. For more information, see Upgrading Engineering Lifecycle Management Operator.
  2. You need appropriate permissions to upgrade the Engineering Lifecycle Management instance. For more information about the user roles in the Red Hat OpenShift, see User roles mapping in Engineering Lifecycle Management on Hybrid Cloud.
  3. Back up the database. For more information, see Backing up and restoring other supported databases.
    Important:
    • The Engineering Lifecycle Management applications are not accessible during the database backup. Plan the activity considering the downtime.
    • After the database backup is completed, you must minimize the usage of Engineering Lifecycle Management applications until the upgrade process is complete. If you continue to use the Engineering Lifecycle Management applications after the database backup, the data in the current and backed up database does not match. In a rollback, you can restore the backed-up database only.
  4. You can define the custom upgrade groups for the Engineering Lifecycle Management applications rather than the default upgrade groups. For more information, see Defining the custom upgrade groups for Engineering Lifecycle Management instance.
  5. Complete the following steps to verify the availability of the Engineering Lifecycle Management version for the upgrade.
    1. Log in to the Red Hat OpenShift and connect to your project.
    2. Record the available Engineering Lifecycle Management versions.
      oc get elm <elm-instance-name> -o jsonpath='Installed ELM Version : {.spec.version} {"\n"}Available ELM Version : {.status.versions.available.versions} {"\n"}{.status.upgradeStatus.conditions[].message}' -n <namespace-name>
      Replace the placeholders for elm-instance-name and namespace-name. For example
      oc get elm example-elm -o jsonpath='Installed ELM Version : {.spec.version} {"\n"}Available ELM Versions : {.status.versions.available.versions} {"\n"}{.status.upgradeStatus.conditions[].message}' -n example

Procedure

  1. Log in to the Red Hat OpenShift and connect to your project.
  2. Patch the Engineering Lifecycle Management instance. Cluster administrator or user with the necessary permissions needs to patch the Engineering Lifecycle Management instance version to the available upgrade version.
  3. Get Engineering Lifecycle Management instance.
    oc get elm -n <namespace-name>
    Replace the namespace-name
    oc get elm -n example
  4. Upgrade Engineering Lifecycle Management instance
    oc patch elm <elm-instance-name> --patch '{"spec":{"version":"<available-elm-version>"}}' --type=merge -n <namespace-name>
    Replace the elm-instance-name and namespace-name. For example
    oc patch elm example-elm --patch '{"spec":{"version":"7.1.0_iFix003"}}' --type=merge -n example
    The Engineering Lifecycle Management operator starts the upgrade process. The following stages are completed during the process.
    • Upgrade validations
    • Upgrade
    • Engineering Lifecycle Management instance post upgrade
    • Application Diagnostics
  5. Monitor the upgrade progress in the Upgrade Events table and Application Events table. Once the Engineering Lifecycle Management upgrade process completes, you can see the Completed status for all four stages in the Upgrade Events table. If any error message appears, resolve the error by following the troubleshooting information that is provided in Troubleshooting of upgrade errors
    oc get elm <elm-instance-name> -o jsonpath='Application Events : {"\n\n"}{range .status.applicationsStatus.conditions[*]}Application - {.type}{"\t"}Status - {.status}{"\t"}Message - {.message}{"\n"}{end}{"\n\n"}Upgrade Events : {"\n\n"}{range .status.upgradeStatus.conditions[*]}Status - {.status}{"\t"}Message - {.message}{"\n"}{end}' -n <namespace>

    Replace the elm-instance-name and namespace-name in the following command. For example

    oc get elm example-elm -o jsonpath='Application Events : {"\n\n"}{range .status.applicationsStatus.conditions[*]}Application - {.type}{"\t"}Status - {.status}{"\t"}Message - {.message}{"\n"}{end}{"\n\n"}Upgrade Events : {"\n\n"}{range .status.upgradeStatus.conditions[*]}Status - {.status}{"\t"}Message - {.message}{"\n"}{end}' -n example
  6. Verify that the Engineering Lifecycle Management instance after the upgrade process is completed. On the successful upgrade, you see the latest installed Engineering Lifecycle Management version.
    oc get elm <elm-instance-name> -o jsonpath='{.status.upgradeStatus.conditions[].message}' -n <namespace-name>

    Replace the elm-instance-name and namespace-name in the following command. For example

    oc get elm example-elm -o jsonpath='{.status.upgradeStatus.conditions[].message}' -n example
  7. Get the JTS URL and open in browser. The JAS login page opens
    oc get elm <elm-instance-name> -o jsonpath='{.spec.hostName}/{.spec.applications.JTS.contextRoot}' -n <namespace-name>

    Replace the elm-instance-name and namespace-name in the following command. For example

    oc get elm example-elm -o jsonpath='{.spec.hostName}/{.spec.applications.JTS.contextRoot}' -n example
    Important: Use the login credentials that have administrative privileges in the application.
  8. Click Settings > Manage Server. On the Status Summary page, verify that the Engineering Lifecycle Management version appears in the Build Information section. In the left page, click Diagnostics. Ensure that no error is listed on the page.