diff --git a/ansible/roles/rabbitmq/tasks/version-check.yml b/ansible/roles/rabbitmq/tasks/version-check.yml index 26111f8064..9d964735c6 100644 --- a/ansible/roles/rabbitmq/tasks/version-check.yml +++ b/ansible/roles/rabbitmq/tasks/version-check.yml @@ -50,12 +50,13 @@ new_version_major: "{{ rabbitmq_version_new.stdout | regex_search('^[0-9]+') }}" new_version_minor: "{{ rabbitmq_version_new.stdout | regex_search('(?<=.)[^.].') }}" new_version: "{{ rabbitmq_version_new.stdout | regex_replace('.[^.]+$', '') }}" - # Note: this assumes 3.13 will be the last release before 4.0. - upgrade_version: "{{ '4.0' if current_version == '3.13' else current_version_major + '.' + (current_version_minor | int + 1) | string }}" + # Note: 3.13 is the last release before 4.0. + upgrade_version: "{{ '4.0 or 4.1' if current_version == '3.13' else current_version_major + '.' + (current_version_minor | int + 1) | string }}" assert: that: (current_version_major == new_version_major and new_version_minor | int - current_version_minor | int <= 1) or - (new_version | float == 4.0 and current_version | float == 3.13) + (new_version | float == 4.0 and current_version | float == 3.13) or + (new_version | float == 4.1 and current_version | float == 3.13) fail_msg: > Looks like you're trying to run a skip-release upgrade! RabbitMQ must be at most one version behind the target release version ({{ rabbitmq_version_new.stdout | trim }}) to run this upgrade. diff --git a/releasenotes/notes/allow-rabbitmq-3-13-to-4-1-8ae08d265c353301.yaml b/releasenotes/notes/allow-rabbitmq-3-13-to-4-1-8ae08d265c353301.yaml new file mode 100644 index 0000000000..93d4aa33bb --- /dev/null +++ b/releasenotes/notes/allow-rabbitmq-3-13-to-4-1-8ae08d265c353301.yaml @@ -0,0 +1,7 @@ +--- + +fixes: + - | + Fixes bug `LP#2118452 `__ + which stopped the RabbitMQ upgrade from version 3.13 to 4.1 even though it + is supported.