diff options
| author | Piotr Milewski <vurmil@gmail.com> | 2025-11-04 11:22:45 +0100 |
|---|---|---|
| committer | Piotr Milewski <vurmil@gmail.com> | 2026-03-27 15:00:46 +0100 |
| commit | 04f1276d652afbe6eb03b184902594666117d631 (patch) | |
| tree | 49d06fd8995dd1f6fe278f26cbe020250e2bc2df /doc/source | |
| parent | eeca18e402a245fdb90914f17f49e42f52ede286 (diff) | |
| download | kolla-ansible-04f1276d652afbe6eb03b184902594666117d631.tar.gz kolla-ansible-04f1276d652afbe6eb03b184902594666117d631.zip | |
kolla-ansible: Add RabbitMQ 4.2 support and dynamic upgrade paths
The RabbitMQ version check currently hardcodes allowed version jumps.
This makes supporting new major/minor releases (like 4.2) rigid and
requires modifying the core task file.
This commit introduces the `rabbitmq_allowed_upgrades` variable in
the role's defaults. This allows operators to define explicit version
jumps (e.g., 3.13 to 4.2) and makes the upgrade logic more flexible.
The version validation logic now:
1. Checks for standard minor increments (e.g., 4.1 -> 4.2).
2. Checks for explicitly defined jumps in `rabbitmq_allowed_upgrades`.
By moving these definitions to defaults, operators can easily override
them in globals.yml if necessary.
Depends-On: https://review.opendev.org/c/openstack/kolla/+/966017
Change-Id: I0e19cf109eb5665045806b7d925779e82164c2dc
Signed-off-by: Piotr Milewski <vurmil@gmail.com>
Diffstat (limited to 'doc/source')
| -rw-r--r-- | doc/source/reference/message-queues/rabbitmq.rst | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/doc/source/reference/message-queues/rabbitmq.rst b/doc/source/reference/message-queues/rabbitmq.rst index 3bd364564..1eed7ef14 100644 --- a/doc/source/reference/message-queues/rabbitmq.rst +++ b/doc/source/reference/message-queues/rabbitmq.rst @@ -160,6 +160,37 @@ different type, the follow procedure will be needed. kolla-ansible deploy --tags <service-tags> + +Upgrading RabbitMQ +~~~~~~~~~~~~~~~~~~ + +RabbitMQ upgrades in Kolla Ansible are typically restricted to a single minor +version increment at a time (e.g., from 4.0.x to 4.1.x). This is a safety +measure to ensure that RabbitMQ's internal data migrations and feature flags +are processed correctly. + +In some cases, specific multi-version upgrade paths are supported (for example, +jumping from 3.13 directly to 4.2). These allowed paths are defined +using the ``rabbitmq_allowed_upgrades`` variable in the RabbitMQ role defaults. + +Operators can customize or extend these allowed upgrade paths by overriding +this variable in ``globals.yml``. + +.. code-block:: yaml + + rabbitmq_allowed_upgrades: + "3.13": + - "4.0" + - "4.1" + - "4.2" + "4.0": + - "4.1" + - "4.2" + +If an invalid upgrade path is detected, the deployment will fail with a +descriptive error message during the ``rabbitmq-version-check`` task, +suggesting the next appropriate intermediate version. + Handling Stream Replicas ~~~~~~~~~~~~~~~~~~~~~~~~ |
