Skip to content

kolla: switch redis to valkey for 2025.2+ (release-conditional)#292

Merged
berendt merged 2 commits into
mainfrom
redis-to-valkey
Jun 30, 2026
Merged

kolla: switch redis to valkey for 2025.2+ (release-conditional)#292
berendt merged 2 commits into
mainfrom
redis-to-valkey

Conversation

@ideaship

@ideaship ideaship commented Jun 29, 2026

Copy link
Copy Markdown
Contributor

Part of the OSISM-wide redis → valkey migration (upstream kolla-ansible
replaced redis with valkey at stable/2025.2).

Makes the OSISM defaults switch-over release-conditional:

  • enable_redis / enable_valkey gate on openstack_version — redis for
    2024.1/2024.2/2025.1, valkey for 2025.2 and newer.
  • The five coordination/incoming backends (masakari, gnocchi, cinder,
    designate, ironic) plus osprofiler prefer valkey when enabled, keeping the
    redis/etcd fallbacks so older releases resolve exactly as before.

It must be release-conditional because one defaults_version tag is consumed by
multiple OpenStack releases at once, and valkey exists upstream only at 2025.2.

Draft: defaults and the consumer-script changes must land together, and the
release defaults_version pin bump is the cut-over gate — held as draft until
that coordinated landing.

Part of the redis → valkey migration (all must land together, gated on the
release defaults_version pin bump):

🤖 Generated with Claude Code

ideaship added 2 commits June 29, 2026 09:12
Since release 9.1.0 a single osism/defaults tag is shared across the
whole OpenStack-release menu (2024.1/2024.2/2025.1/2025.2 all pin the
same defaults_version; base.yml no longer fixes openstack_version).
valkey exists upstream only at 2025.2 -- stable/2025.1 is redis-only
(no valkey role / no playbook-valkey.yml). A flat enable_valkey/disable
enable_redis flip would therefore break every 2025.1/2024.x deploy
sharing the tag.

Gate both flags on openstack_version instead, mirroring the existing
release-conditional idiom already used in defaults (mariadb_image,
prometheus_server_image): redis stays enabled for 2024.1/2024.2/2025.1,
valkey is enabled for 2025.2 and everything newer (incl. master). This
supersedes the earlier unconditional enable_valkey flip.

The five coordination/incoming backends that consume these flags are
repointed to valkey in a follow-up commit.

UpgradeImpact
Assisted-by: Claude:claude-opus-4-8
Signed-off-by: Roger Luethi <luethi@osism.tech>
Upstream kolla-ansible replaced redis with valkey at stable/2025.2, but
OSISM's defaults still override the coordination/incoming backends back
to the redis form, so nothing consumes valkey even where it is enabled.

Prefer valkey when enable_valkey is set, keeping the existing redis and
etcd fallbacks so older releases (which stay redis-enabled, see the
enable-flag gating commit) resolve exactly as before. Updated:

  - masakari_coordination_backend
  - gnocchi_incoming_storage
  - cinder_coordination_backend
  - designate_coordination_backend
  - ironic_coordination_backend

Also route osprofiler_backend_connection_string to whichever store is
enabled: with osprofiler_backend in [redis, valkey] it follows
enable_valkey/enable_redis, so on 2025.2 it points at valkey instead of
a redis service that no longer exists. The default backend stays
elasticsearch, so this path is dormant unless an operator opts in.

Resolution per release: 2024.1/2024.2/2025.1 -> redis; 2025.2 and
newer -> valkey. Comments updated to list valkey as a valid option.

UpgradeImpact
Assisted-by: Claude:claude-opus-4-8
Signed-off-by: Roger Luethi <luethi@osism.tech>
@ideaship ideaship marked this pull request as ready for review June 30, 2026 10:53
@berendt berendt merged commit 29799d2 into main Jun 30, 2026
3 checks passed
@berendt berendt deleted the redis-to-valkey branch June 30, 2026 17:35
@github-project-automation github-project-automation Bot moved this from Ready to Done in Human Board Jun 30, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

3 participants