Upgrade
Before you Upgrade
When using SwiftMQ 13, it's essential to follow some best practices for optimal operation:
Use the Router Script: Always start SwiftMQ with the provided
router
script rather than custom scripts. The router script is integral to the system, regularly tested and updated with each release.Managing routerconfig.xml: The
routerconfig.xml
file in SwiftMQ is dynamic and changes automatically with various system components. Instead of version controlling this file, use preconfig files for your specific configurations like queues, topics, JMS listeners, etc. Include these preconfig files in your version control system (VCS). When starting SwiftMQ with therouter
script, add your preconfig files as parameters. This approach ensures thatrouterconfig.xml
is consistently updated with your configurations.
Upgrading SwiftMQ CE
Same procedure as release 12.x.
Upgrading SwiftMQ UR
Same procedure as release 12.x with the exception that you do NOT copy data/deploy
to the SwiftMQ 13 installation as Extension Swiftlets from 12.x are not compatible with SwiftMQ 13.
Instead:
Copy the
data
directory without thedata/deploy
subdirectory to SwiftMQ 13.Copy the Extension Swiftlets you use from
optional-swiftlets/extension
of SwiftMQ 13 todata/deploy
of SwiftMQ 13.Start SwiftMQ 13.
The new Extension Swiftlets are now deployed and the configuration from your preconfig file is applied during startup.
Upgrading SwiftMQ HA
Same procedure as SwiftMQ UR. Rolling Upgrade is not possible. Both HA instances must be shut down during the upgrade.
Upgrading Docker (CE/UR/HA)
The upgrade of Docker images is slightly different as you start the container with the same data
directory and Extension Swiftlets are automatically deployed.
Follow this procedure:
Stop the Docker container running SwiftMQ 12. For SwiftMQ HA stop both HA instances.
Pull the new Docker image or load it from the downloaded SwiftMQ 13 Docker distribution.
For SwiftMQ HA download the preconfig zip file as well.
Delete the content of the
data/deploy
directory.Delete the content of the
data/preconfig
directory.For SwiftMQ HA: Delete the
preconfig
directory at the root of your installation.For SwiftMQ HA: Unzip the downloaded preconfig zip file at the root of your installation.
Start the new Docker container.
Note on SELinux with podman
We have discovered an issue with SwiftMQ 13 running as a container with podman under RHEL8 with SELinux enabled. You need to add the DAC_OVERRIDE
capability to your container.