Upgrade BPM 8.5.7 to BPM 8.6.0 CF2018.03

How to upgrade an AdvancedOnly deployment environment from 8.5.7 to 8.6.0 CF2018.03


Author(s): Tamas Bures | Created: 13 August 2019 | Last modified: 25 June 2022
Tested on: -

Upgrade BPM 8.5.7 to BPM 8.6.0 CF2018.03

In this tutorial you will see how can you upgrade an existing IBM BPM 8.5.7 to 8.6.0 CF2018.03 version, including Java upgrade from Java 6 to 8 on an IBM supported Linux operating system.

In this guide::

  • BPM installation path is /opt/IBM/WebSphere/BPM
  • BPM hostname: bpm1.test
  • Database (DB2) installed on different server, hostname is bpmdb.test
  • Deployment Manager
    • Profile name: BPMDmgr
    • Node name: BPMDmgrManagerNode
    • SOAP port: 8879
  • Managed node
    • Profile name: BPMCustom01
    • Node name: BPMCustom01Node01
  • Cluster names:
    • Application: AppCluster
    • Messaging: MECluster
    • Support: SuppCluster
  • Deployment environment
    • Name: BPMDe1
    • Administrator: deadmin
    • Administrator password: password
    • Type: AdvancedOnly (formerly Process Server)

Switch existing BPM 8.5.7 to Java 7 from Java 6 (if it did not already)

IBM Knowledge Center: Switching the edition of Java used in IBM BPM

  1. Stop all Java processes by stopping the servers, nodeagents and finally Dmgr.

  2. Identify the Java 7 bundle name with the following command:

     /opt/IBM/WebSphere/BPM/bin/managesdk.sh -listAvailable

    Example output:

     CWSDK1003I: Available SDKs:
     CWSDK1005I: SDK name: 1.7.1_64
     CWSDK1005I: SDK name: 1.6_64 
     CWSDK1001I: Successfully performed the requested managesdk task.
  3. Set the default Java for command line environment and all future profiles:

     /opt/IBM/WebSphere/BPM/bin/managesdk.sh -setCommandDefault -sdkname 1.7.1_64
     /opt/IBM/WebSphere/BPM/bin/managesdk.sh -setNewProfileDefault -sdkname 1.7.1_64
  4. To switch Java SDK for existing profiles , shutdown the servers, nodeagents and deployment manager as well.

  5. Change Java version for deployment manager:

     /opt/IBM/WebSphere/BPM/bin/managesdk.sh \ 
         -enableProfile \ 
         -profileName BPMDmgr \ 
         -sdk_name 1.7.1_64
  6. Start the Deployment Manager:

     /opt/IBM/WebSphere/BPM/profiles/BPMDmgr/bin/startManager.sh
  7. Manually synchronize the managed nodes:

     /opt/IBM/WebSphere/BPM/bin/syncNode.sh bpm1.test 8879 \ 
         -profileName BPMNode01 \ 
         -user deadmin \ 
         -password password
  8. Change Java version for the managed node:

     /opt/IBM/WebSphere/BPM/bin/managesdk.sh \ 
         -enableProfile \ 
         -profileName BPMNode01 \ 
         -sdk_name 1.7.1_64 \ 
         -user deadmin \ 
         -password password
  9. Manually synchronize the managed nodes:

     /opt/IBM/WebSphere/BPM/bin/syncNode.sh bpm1.test 8879 \ 
         -profileName BPMNode01 \ 
         -user deadmin \ 
         -password password
  10. Validate changes:

     /opt/IBM/WebSphere/BPM/bin/managesdk.sh -listEnabledProfileAll

    Example output:

     CWSDK1004I: Profile BPMDmgr :
     CWSDK1006I: PROFILE_COMMAND_SDK = 1.7.1_64
     CWSDK1008I: Node BPMDmgrManagerNode SDK name: 1.7.1_64
     CWSDK1009I: Server dmgr SDK name: 1.7.1_64
    
     CWSDK1004I: Profile BPMCustom01 :
     CWSDK1006I: PROFILE_COMMAND_SDK = 1.7.1_64
     CWSDK1008I: Node BPMCustom01Node01 SDK name: 1.7.1_64
     CWSDK1009I: Server AppCluster.server1 SDK name: 1.7.1_64
     CWSDK1009I: Server MECluster.server1 SDK name: 1.7.1_64
     CWSDK1009I: Server SuppCluster.server1 SDK name: 1.7.1_64
     CWSDK1009I: Server nodeagent SDK name: 1.7.1_64
     CWSDK1001I: Successfully performed the requested managesdk task.
  11. Start the environment in the right order.

Upgrading DB2

  1. Stop all Java processes by stopping the servers, nodeagents and finally Dmgr.

  2. Backup all databases.

     for db in `db2 list db directory | grep -i "Database alias" | cut -d"=" -f2-`; do \
         db2 backup db $db to /opt/backup compress; \
     done
  3. Shut down DB2 instance(s) and the admin server (if any):

     db2stop
     db2admin stop
  4. Make sure environment variable LANG is set to supported locale (default is C). If not, DB2 tools like db2checkprereq might fail.

     export | grep -i lang

    Sample output:

     declare -x LANG="en_US.UTF-8"

    If something different is set, for example: hu_hu.utf-8, to be on the safe side, set it to C:

     export LANG=C
  5. Install the newer DB2 binary and do not create any instances.

  6. Upgrade DB2 instance(s), but before check that LD_LIBRARY_PATH environment variable is not contains path to the old DB2 version. If it does, clear it, otherwise DB2 tools fail:

     export | grep LD_LIBRARY_PATH

    If empty, go on, if not, clear it:

     export LD_LIBRARY_PATH=

    Upgrade db2 instance(s):

     <NEW_DB2_INSTALL_PATH>/instance/db2iupgrade <istance name>

    For example:

     /opt/ibm/db2/V10.5/instance/db2iupgrade db2inst1

    If you have multiple instances, repeat the command above.

  7. Start the database instance(s) and admin server (if any):

     db2start
     db2admin start
  8. Upgrade the database(s) in instance(s) using the instance owner user:

     for db in `db2 list db directory | grep -i "Database alias" | cut -d"=" -f2-`; do \
         db2 upgrade db $db; \
     done
  9. Copy the JDBC drivers to the BPM to make sure BPM is using the right version of JDBC driver to this newly upgraded DB2. The JDBC JAR files can be found:

     <NEW_DB2_INSTALL_PATH>/java/db2jcc*.jar

    For example:

     /opt/ibm/db2/V10.5/java/db2jcc*.jar
  10. Start the BPM environment in the right order to validate all OK.

Upgrading BPM on primary node

  1. Stop all Java processes by stopping the servers, nodeagents and finally Deployment Manager.

  2. Create backup directories:

    bpm1.test

     mkdir -p /opt/backup

    bpmdb.test

     mkdir -p /opt/backup
  3. Create offline backup from profiles and databases:

    bpm1.test

     for p in BPMDmgr BPMCustom01; do \ 
         /opt/IBM/WebSphere/BPM/profiles/$p/bin/backupConfig.sh /opt/backup/$p_`date +"%Y_%m_%d"`.zip \ 
         -logfile /opt/backup/$p_`date +"%Y_%m_%d"`.log
     ; done

    bpmdb.test

     for db in `db2 list db directory |grep -i "Database alias"|cut -d"=" -f2-`; do \
         db2 backup db $db to /opt/backup compress; \
     done
  4. Install WAS 8.5.5 FP15 and BPM 8.6 CF2018.03 on primary node using Installation Manager.

  5. Start the Deployment Manager. The start process will be longer than usual, because the product upgrades the Dmgr configuration, enables Java 8 and performaing maintenance tasks. So be patient.

     /opt/IBM/WebSphere/BPM/profiles/BPMDmgr/bin/startManager.sh
  6. Identify the Java 8 SDK bundle name with the following command:

     /opt/IBM/WebSphere/BPM/bin/managesdk.sh -listAvailable

    Example output:

     CWSDK1003I: Available SDKs:
     CWSDK1005I: SDK name: 1.8_64_bundled
     CWSDK1005I: SDK name: 1.7.1_64
     CWSDK1005I: SDK name: 1.6_64 
     CWSDK1001I: Successfully performed the requested managesdk task.
  7. Set the default Java for command line environment and all future profiles:

     /opt/IBM/WebSphere/BPM/bin/managesdk.sh -setCommandDefault -sdkname 1.8_64_bundled
     /opt/IBM/WebSphere/BPM/bin/managesdk.sh -setNewProfileDefault -sdkname 1.8_64_bundled
  8. Verify, that Deployment Manager is running and is set to Java 8. Managed nodes should be still on older Java, that's normal.

     /opt/IBM/WebSphere/BPM/bin/managesdk.sh -listEnabledProfileAll

    Example output:

     CWSDK1004I: Profile BPMDmgr :
     CWSDK1006I: PROFILE_COMMAND_SDK = 1.8_64_bundled
     CWSDK1008I: Node BPMDmgrManagerNode SDK name: 1.8_64_bundled
     CWSDK1009I: Server dmgr SDK name: 1.8_64_bundled
    
     CWSDK1004I: Profile BPMCustom01 :
     CWSDK1006I: PROFILE_COMMAND_SDK = 1.7_64
     CWSDK1008I: Node BPMCustom01Node01 SDK name: 1.7_64
     CWSDK1009I: Server AppCluster.server1 SDK name: 1.7_64
     CWSDK1009I: Server MECluster.server1 SDK name: 1.7_64
     CWSDK1009I: Server SuppCluster.server1 SDK name: 1.7_64
     CWSDK1009I: Server nodeagent SDK name: 1.7_64
     CWSDK1001I: Successfully performed the requested managesdk task.
  9. Upgrade web server plugins using the WebSphere administration console.

  10. Manually synchronize the managed node:

     /opt/IBM/WebSphere/BPM/profiles/BPMCustom01/bin/syncNode.sh bpm1.test 8879 \ 
         -user deadmin \ 
         -password password
  11. Enable Java 8 for the managed node:

     /opt/IBM/WebSphere/BPM/bin/managesdk.sh \ 
         -enableProfile \ 
         -profileName BPMCustom01 \ 
         -sdk_name 1.8_64_bundled \ 
         -user deadmin \ 
         -password password \
         -enableServers
  12. Manually synchronize again the managed node:

     /opt/IBM/WebSphere/BPM/profiles/BPMCustom01/bin/syncNode.sh bpm1.test 8879 \ 
         -user deadmin \ 
         -password password
  13. Validate changes:

     /opt/IBM/WebSphere/BPM/bin/managesdk.sh -listEnabledProfileAll

    Example output:

     CWSDK1004I: Profile BPMDmgr :
     CWSDK1006I: PROFILE_COMMAND_SDK = 1.8_64_bundled
     CWSDK1008I: Node BPMDmgrManagerNode SDK name: 1.8_64_bundled
     CWSDK1009I: Server dmgr SDK name: 1.8_64_bundled
    
     CWSDK1004I: Profile BPMCustom01 :
     CWSDK1006I: PROFILE_COMMAND_SDK = 1.8_64_bundled
     CWSDK1008I: Node BPMCustom01Node01 SDK name: 1.8_64_bundled
     CWSDK1009I: Server AppCluster.server1 SDK name: 1.8_64_bundled
     CWSDK1009I: Server MECluster.server1 SDK name: 1.8_64_bundled
     CWSDK1009I: Server SuppCluster.server1 SDK name: 1.8_64_bundled
     CWSDK1009I: Server nodeagent SDK name: 1.8_64_bundled
     CWSDK1001I: Successfully performed the requested managesdk task.
  14. Start the managed node:

     /opt/IBM/WebSphere/BPM/profiles/BPMCustom01/bin/startNode.sh
  15. Start the cluster members using the admin console on Deployment Manager.