Overview
The following technical note describes various upgrade scenarios for Broker and lists high-level steps that can be used. This technical note should be used along with webMethods Upgrade guide. It covers the scenario of upgrading from version 9 to version 10, but the same steps should be applicable to upgrade between any two versions in 9.x/10.x/11.x.
The best scenario for an upgrade is to:
- reuse storage
- use the same old hostname:port
If storage cannot be reused, then export/import is required.
If hostname: port cannot be reused, then the following changes will be needed:
- Territory/cluster/gateway needs to be rebuilt, or use broker_update to surgically (and carefully) update the persisted hostname.
- IS messaging setting & JMS connection factories etc client settings needs to be fixed to point to new hostname:port.
Case 1: Upgrading on same box, then the simplest option is to reuse storage and use the same hostname:port. High-level steps will be:
- Install 10.x without creating server.
- Shutdown 9.x server
- Remove 9.x server (server_config remove)
- Add data directory as 10.x server (server_config add)
- Start 10.x server.
Case 2: Upgrading on different box with same Operating System (maybe of higher version), then reuse storage.
In this case one can reuse hostname:port too as long both boxes are not running in the same network at the same time.
- Keep 10.x box off the network and install 10.x without creating server.
- Shutdown 9.x
- Remove 9.x server (server_config remove)
- Copy over the storage to new box while keeping same data directory path.
- If the same directory path is not possible in step 3, then one needs to use “server_config relocate” on 10.x server.
- Add to 10.x server (server_config add)
- Shut down the old box and take it off the network.
- Start new box in network and start 10.x server.
Note: server_config relocate is useful, if you wants to change data directory for some reason, say storage mount point has changed from /opt/wm82 to /opt/sag96. “server_config relocate” is not supported in 9.0 and earlier version.
Case 3: If storage reuse is not possible, then export/import is required.
Export/import can be done in 3 ways:
- broker_save/broker_load command line utility
- UI based export/import
- Deployer based export/import
All 3 are functionally equivalent, each subsequent option is increasingly complex due to the number of products required and number of steps to execute. The guide is based on Deployer-based export/import.
The usual upgrade steps will be:
- Install 10.x server. Also create a new server
- Export from 9.x and import to 10.x
- Stop 9.x server and start 10.x server
If hostname:port remains the same, you need to take care of the network visibility of the new server.
If hostname:port is changing, then you must either rebuild territory/cluster/gateway, or change the hostname before importing the terrtory/gateway definitions.
Case 4A: If hostname:port reuse is not possible in a territory/gateway setup, and one opts for rebuilding territory/gateways, then one should do the following:
- Remove 9.x broker from gateway/territories
- Upgrade/migrate to 10.x
- Setup 10.x territory/gateways
- Start 10.x server
- Fix client settings: IS messaging for native, connection factories etc
- Start clients.
Case 4B: If hostname:port reuse is not possible in a territory/gateway setup, and one opts for using broker_update, then one should do the following
- Upgrade/migrate to 10.x
- Start 10.x servers in a separate network to avoid then connecting to 9.x servers.
- Use the broker_update tool to update the hostname directly in the storage.
- Fix client settings: IS messaging for native, connection factories, etc
- Start clients.
Notes
The upgrade guide is organized as a single large flow. If you search by “Broker” keyword, it will fall in more or less above flow. The upgrade guide gets a bit complicated as it needs to cater to a single flow which must address all use cases (storage reuse vs export/import, upgrade from 9.x SP2 vs SP3, upgrade from 9.x vs 9.0, storage incompatibility on zLinux etc).
The usual caveats apply: first upgrade in dev/test environment; take periodic backup at important stages; apply latest fixes as soon as possible.
References
Installing and Upgrading webMethods Broker - official guide containing lots of stuff and lots of fluff.