Upgrading RabbitMQ for Pivotal Platform
Warning: RabbitMQ for Pivotal Platform v1.18 is no longer supported because it has reached the End of General Support (EOGS) phase as defined by the Support Lifecycle Policy. To stay up to date with the latest software and security updates, upgrade to a supported version.
RabbitMQ for Pivotal Platform enables automated upgrades between versions of the product. In some versions, you might be required to take the RabbitMQ cluster offline. Whenever this is necessary, it is noted in the release notes for those versions.
For product versions and upgrade paths, see Upgrade Planner.
This topic applies to both the on-demand and pre-provisioned services.
This section provides information about the upgrade process, release cycle, and downtime during upgrades.
Resilient apps are less likely to crash during downtime. For how developers can create resilient apps, see the workloads repository in GitHub.
A guide for downtime during upgrade deployments is shown in the table below. In some cases, the RabbitMQ cluster remains available during a tile upgrade, but individual queues on cluster nodes might be taken offline.
The length of the downtime depends on whether there is a stemcell update to replace the operating system image, or whether the update is for the RabbitMQ software only. Stemcell updates incur additional downtime while the IaaS creates the new VM.
The RabbitMQ cluster becomes unavailable only when upgrading between specific versions of Erlang or RabbitMQ. This is stated in the release notes for those versions.
IMPORTANT: The following table is only a guide. Always check the release notes for the version you are upgrading to.
|Upgrade Type||Will Downtime Be Required For This Upgrade or Update?|
|Major Tile Version||Refer to the release notes for that version.|
|Minor Tile Version||For 1.17.2 and earlier: The RabbitMQ cluster is taken offline for the duration of the upgrade.
For 1.17.3 and later: Normally these are rolling deployments with each node being updated in turn. In these cases, the cluster remains available, but individual queues might be taken offline as each node is restarted. There might be specific migration paths that require downtime. These are identified in the release notes for that version.
|Patch Tile Version||Normally these are rolling deployments with each node being updated in turn. In these cases the cluster remains available, but individual queues might be taken offline as each node is restarted. There might be specific migration paths that require downtime. These are identified in the release notes for that version.|
|Stemcell-Only Patch Tile Version||Where the patch update is only a new stemcell version these are rolling deployments with each node being updated in turn. In these cases the cluster remains available, but individual queues might be taken offline as each node is restarted.|
The following notes about the upgrade process apply to upgrading to any version of RabbitMQ.
Upgrading to a newer version of the product does not cause any loss of data or configuration.
It might take busy RabbitMQ nodes a long time to shut down during the upgrade and you must not interrupt this process.
To benefit from rolling upgrades, configure your apps to reconnect after a node restarts. For more information, see Handling Node Restarts in Applications in the RabbitMQ documentation.
The benefit you get from stemcell rolling upgrades depends on how you have configured network partition handling and the Resource Config tab. An HAProxy instance count of 2 and a RabbitMQ node count of 3 are required for rolling stemcell upgrades. These counts are the default. For more information, see Clustering and Network Partitions.
Pivotal Operations Manager ensures the instances are updated with the new packages and any configuration changes are applied automatically.
When a new version of RabbitMQ is released, a new version of RabbitMQ is released soon after. For more information, see the Release Policy.
The RabbitMQ tile uses floating stemcells in v1.14.0 and later. This means that the tile can be updated to use the latest minor version of a stemcell, without the need to download a new RabbitMQ patch release from Pivnet. For more information see Floating Stemcells.
To upgrade the product, follow these steps:
- Download the latest version of the product from Pivotal Network.
- Upload the new .pivotal file to Ops Manager.
- Upload the stemcell associated with the update (if required).
- Update any new mandatory configuration parameters (if required).
- Click Review Pending Changes. For more information about this Ops Manager page, see Reviewing Pending Product Changes.
- Click Apply Changes. The rest of the process is automated.