Skip to content

release-notes: document quorum queues default - #1073

Open
jklare wants to merge 1 commit into
mainfrom
release-notes-rabbitmq-quorum-default
Open

release-notes: document quorum queues default#1073
jklare wants to merge 1 commit into
mainfrom
release-notes-rabbitmq-quorum-default

Conversation

@jklare

@jklare jklare commented Aug 20, 2026

Copy link
Copy Markdown
Contributor

It was reported that an upgrade from OSISM 8 to OSISM 9 switched all RabbitMQ queues from classic to quorum, and that this is not covered by our release notes.

What changed

The parameter is om_enable_rabbitmq_quorum_queues. It was flipped from false to true in osism/defaults#235 (commit bf60e0f, 2024-10-13), with the matching change in osism/cfg-cookiecutter#674 one minute later. Neither commit carried a release note.

Which release shipped it

Tracing defaults_version from the release manifests against the flag value in each defaults tag:

Release defaults_version om_enable_rabbitmq_quorum_queues
8.0.2 v0.20240924.0 false
8.1.0 v0.20250113.0 true
9.0.0 v0.20250407.0 true

So the default first shipped with OSISM 8.1.0, not 9.0.0. Deployments upgrading from 8.0.x to 9 cross it on that hop, which explains the report.

Configuration repositories created before October 2024 do not carry the parameter at all, so they pick up the new default silently. testbed/environments/kolla/configuration.yml still pins false, so CI never exercised the transition.

What this adds

  • An Upgrade notes subsection in the 8.1.0 release notes stating that the new default is intended for new clusters, not for upgraded ones, with the recommendation to set the parameter explicitly to false before upgrading to 8.1 or 9. The switch was not tested for 8.1/9 and a migration path was only developed for OSISM 10, so the note points at the RabbitMQ 3 to RabbitMQ 4 migration and makes clear that osism migrate rabbitmq3to4 only exists in OSISM 10.
  • A pointer with the same recommendation in the 9.0.0 section, including the config snippet, so it also works for readers who only look at the OSISM 9 release notes.

Verification

  • MegaLinter v10 documentation flavor in Docker, markdown linters over all 168 files: clean, no fixes proposed.
  • yarn build succeeds with onBrokenLinks: 'throw', so both cross-file anchors resolve.

Not included

docs/concepts/technology-adaptability.md still describes the old approach as "RabbitMQ 3 (classic queues)", which is inaccurate for 8.1/9 defaults. Left out to keep this change focused; happy to fold it in.

The kolla default om_enable_rabbitmq_quorum_queues was changed from
false to true in the defaults repository with commit bf60e0f ("kolla:
make quorum queues the default", osism/defaults#235) on 2024-10-13.
Neither that commit nor the release notes mentioned the change.

Tracing defaults_version from the release manifests shows that OSISM
8.0.2 pins defaults v0.20240924.0 (false), while 8.1.0 pins
v0.20250113.0 (true). The new default therefore first shipped with
OSISM 8.1.0 and is also in effect in 9.0.0. Deployments that upgrade
from 8.0.x to 9 cross the change on that hop, which is where it has
been reported from the field.

Configuration repositories created before October 2024 do not carry
the parameter at all, so they silently pick up the new default and all
OpenStack services start declaring their RPC and notification queues
as quorum queues instead of classic queues. An existing classic queue
cannot be redeclared as a quorum queue, and the affected services fail
as long as the old queues are still present.

The new default is intended for new clusters. A migration path for
existing deployments was only developed for OSISM 10, where the
RabbitMQ 3 to RabbitMQ 4 migration and the accompanying
"osism migrate rabbitmq3to4" command handle the switch. Document the
change in the 8.1.0 upgrade notes with the recommendation to set the
parameter explicitly to false before upgrading, and add a pointer with
the same recommendation to the 9.0.0 section, since that is the release
most deployments encounter the change with.

UpgradeImpact

Assisted-by: Claude:claude-opus-5[1m]
Signed-off-by: Jan Klare <klare@osism.tech>
@github-actions

Copy link
Copy Markdown

MegaLinter analysis: Success

Descriptor Linter Files Fixed Errors Max errors Warnings Elapsed time
✅ ACTION actionlint 5 0 0 0.05s
✅ JSON jsonlint 4 0 0 0.12s
✅ JSON prettier 4 0 0 0.38s
✅ JSON v8r 4 0 0 9.58s
✅ MARKDOWN markdownlint 168 0 0 2.85s
✅ MARKDOWN markdown-table-formatter 168 0 0 0.37s
✅ REPOSITORY betterleaks yes no no 0.62s
✅ REPOSITORY checkov yes no no 18.13s
✅ REPOSITORY git_diff yes no no 0.08s
✅ REPOSITORY secretlint yes no no 3.27s
✅ REPOSITORY trufflehog yes no no 3.63s
✅ SPELL codespell 178 0 0 0.55s
✅ SPELL lychee 178 0 0 44.9s
✅ YAML prettier 6 0 0 0.39s
✅ YAML v8r 6 0 0 6.53s
✅ YAML yamllint 6 0 0 0.52s

See detailed reports in MegaLinter artifacts

Your project could benefit from a custom flavor, which would allow you to run only the linters you need, and thus improve runtime performances. (Skip this info by defining FLAVOR_SUGGESTIONS: false)

  • Documentation: Custom Flavors
  • Command: npx mega-linter-runner@10.0.0 --custom-flavor-setup --custom-flavor-linters ACTION_ACTIONLINT,JSON_JSONLINT,JSON_V8R,JSON_PRETTIER,MARKDOWN_MARKDOWNLINT,MARKDOWN_MARKDOWN_TABLE_FORMATTER,REPOSITORY_CHECKOV,REPOSITORY_GIT_DIFF,REPOSITORY_BETTERLEAKS,REPOSITORY_SECRETLINT,REPOSITORY_TRUFFLEHOG,SPELL_LYCHEE,SPELL_CODESPELL,YAML_PRETTIER,YAML_YAMLLINT,YAML_V8R

MegaLinter is provided by OX Security
Show us your support by starring ⭐ the repository

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: New

Development

Successfully merging this pull request may close these issues.

2 participants