Tuesday, 26 September 2017

Doh, check your Java at the door

During an upgrade process, moving from IBM BPM 8.5.7 to 8.6, I hit a wee problem.

I'd already installed the new binaries, and upgraded the DB schema: -

which returned: -

IBM Business Process Manager V8.6.0.0 database upgrade program finished.

Creating /opt/ibm/WebSphereProfiles/Dmgr01/logs/De1.DBUpgrade.success
All upgrade steps have been completed successfully.


I then tried to start the Deployment Manager: -

/opt/ibm/WebSphereProfiles/Dmgr01/bin/startManager.sh

but this failed: -

CWUPO0001I: Running configuration action detectNewProducts.ant
CWUPO0002I: Running long-running configuration action BPMConfigUpgrade.ant
CWUPO0001I: Running configuration action ejb-deploy-clear-cache.ant
CWUPO0001I: Running configuration action clearOSGiCache.ant
CWUPO0001I: Running configuration action runiscdeploy.ant
CWUPO0001I: Running configuration action clearClassCache.ant
runConfigActions script execution failed. Exit code: 1
Exception caught while waiting for runConfigActions script to complete: /opt/ibm/WebSphereProfiles/Dmgr01/bin/runConfigActions.sh


I checked the appropriate log: -

cat /opt/ibm/WebSphereProfiles/Dmgr01/logs/BPMConfig_20170925-171347.log

and saw immediately where I was going wrong: -

[25/09/17 17:14:28:359 BST] 00000001 BPMConfig     E com.ibm.bpm.config.BPMConfig main CWMCB0156E: IBM BPM does not support Java 1.7.1. Use the managesdk command to switch to a supported Java version: [1.8].
                                 com.ibm.bpm.config.util.ConfigException: CWMCB0156E: IBM BPM does not support Java 1.7.1. Use the managesdk command to switch to a supported Java version: [1.8].
at com.ibm.bpm.config.BPMConfig.upgradeProfile(BPMConfig.java:1303)


Guess what I did wrong ?

Yep, I forgot to update the profiles to use Java 8: -

/opt/ibm/WebSphere/AppServer/bin/managesdk.sh -enableProfile -profileName Dmgr01 -sdkName 1.8_64_bundled

/opt/ibm/WebSphere/AppServer/bin/managesdk.sh -enableProfile -profileName AppSrv01 -sdkName 1.8_64_bundled -user wasadmin -password passw0rd -enableServers

Once I did this, all was well :-)

No comments:

Note to self - use kubectl to query images in a pod or deployment

In both cases, we use JSON ... For a deployment, we can do this: - kubectl get deployment foobar --namespace snafu --output jsonpath="{...