diff --git a/README.rst b/README.rst
index 4af919296e..a8cf66238f 100644
--- a/README.rst
+++ b/README.rst
@@ -133,7 +133,7 @@ Kolla provides images to deploy the following infrastructure components:
direct messaging back end for communication between services.
- `RabbitMQ `__ as a broker messaging back end for
communication between services.
-- `Redis Sentinel `__ provides high availability for redis
+- `Valkey Sentinel `__ provides high availability for valkey
along with collateral tasks such as monitoring, notification and acts as configuration
provider for clients.
- `Telegraf `__ as a plugin-driven server
diff --git a/doc/source/matrix_aarch64.csv b/doc/source/matrix_aarch64.csv
index 028bba2c21..04e94f1690 100644
--- a/doc/source/matrix_aarch64.csv
+++ b/doc/source/matrix_aarch64.csv
@@ -46,11 +46,11 @@ ovsdpdk,N,U,U
placement,U,U,U
prometheus,U,U,U
rabbitmq,U,U,U
-redis,U,U,U
skyline,U,U,U
tacker,U,U,U
telegraf,N,N,N
tgtd,U,U,U
trove,U,U,U
+valkey,U,U,U
watcher,U,U,U
zun,U,U,U
diff --git a/doc/source/matrix_x86.csv b/doc/source/matrix_x86.csv
index 14c37597dc..738475b61f 100644
--- a/doc/source/matrix_x86.csv
+++ b/doc/source/matrix_x86.csv
@@ -47,12 +47,12 @@ ovsdpdk,N,U,U
placement,T,T,T
prometheus,U,U,U
rabbitmq,T,T,T
-redis,T,U,U
skyline,U,U,U
swift,T,T,U
tacker,T,U,U
telegraf,U,U,U
tgtd,N,T,U
trove,U,U,U
+valkey,T,U,U
watcher,U,U,U
zun,T,T,U
diff --git a/docker/manila/manila-share/Dockerfile.j2 b/docker/manila/manila-share/Dockerfile.j2
index 35ff6b8f48..210d8b31c2 100644
--- a/docker/manila/manila-share/Dockerfile.j2
+++ b/docker/manila/manila-share/Dockerfile.j2
@@ -8,10 +8,6 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
{% import "macros.j2" as macros with context %}
{% if base_package_type == 'rpm' %}
-
-{# NOTE(mnasiadka): glusterfs-fuse missing in CentOS 10 Stream - temporarily from Kolla COPR #}
-{{ macros.enable_extra_repos(['ceph', 'epel', 'kolla_el10']) }}
-
{% set manila_share_packages = [
'ceph-common',
'sqlite',
diff --git a/docker/mariadb-server/Dockerfile.j2 b/docker/mariadb-server/Dockerfile.j2
index 8d17ff4ff9..18811f36ea 100644
--- a/docker/mariadb-server/Dockerfile.j2
+++ b/docker/mariadb-server/Dockerfile.j2
@@ -9,19 +9,16 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
{{ macros.configure_user(name='mysql') }}
-{# NOTE(mnasiadka): Use AppStream version of MariaDB for now in CentOS #}
-
{% if base_package_type == 'rpm' %}
{# NOTE(mgoddard): EPEL required for pv package #}
-{{ macros.enable_extra_repos(['epel']) }}
+{{ macros.enable_extra_repos(['epel', 'mariadb']) }}
{% set mariadb_packages = [
'expect',
'mariadb',
'mariadb-backup',
'mariadb-server',
- 'mariadb-server-galera',
'pv',
'rsync',
'tar'
diff --git a/docker/neutron/neutron-base/Dockerfile.j2 b/docker/neutron/neutron-base/Dockerfile.j2
index e3d19178d4..956551fbda 100644
--- a/docker/neutron/neutron-base/Dockerfile.j2
+++ b/docker/neutron/neutron-base/Dockerfile.j2
@@ -78,6 +78,7 @@ RUN chmod +x /usr/local/lib/neutron-wrappers/copy-wrappers \
&& chmod +x /usr/local/lib/neutron-wrappers/delete-wrappers
RUN ln -s neutron-base-source/* neutron \
+ && {{ macros.upper_constraints_remove('networking-generic-switch') }} \
&& {{ macros.install_pip(neutron_base_pip_packages | customizable("pip_packages")) }} \
&& mkdir -p /etc/neutron \
&& cp -r /neutron/etc/* /etc/neutron/ \
diff --git a/docker/redis/redis-base/Dockerfile.j2 b/docker/redis/redis-base/Dockerfile.j2
deleted file mode 100644
index 89dccd2580..0000000000
--- a/docker/redis/redis-base/Dockerfile.j2
+++ /dev/null
@@ -1,17 +0,0 @@
-FROM {{ namespace }}/{{ image_prefix }}base:{{ tag }}
-{% block labels %}
-LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build_date }}"
-{% endblock %}
-
-{% block redis_base_header %}{% endblock %}
-
-{% import "macros.j2" as macros with context %}
-
-{{ macros.configure_user(name='redis', homedir='/run/redis') }}
-
-COPY extend_start.sh /usr/local/bin/kolla_extend_start
-RUN chmod 644 /usr/local/bin/kolla_extend_start
-
-{{ macros.kolla_patch_sources() }}
-
-{% block redis_base_footer %}{% endblock %}
diff --git a/docker/redis/redis-base/extend_start.sh b/docker/redis/redis-base/extend_start.sh
deleted file mode 100644
index f5f12ac70f..0000000000
--- a/docker/redis/redis-base/extend_start.sh
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/bin/bash
-
-if [[ ! -d "/var/log/kolla/redis" ]]; then
- mkdir -p /var/log/kolla/redis
-fi
-
-if [[ $(stat -c %a /var/log/kolla/redis) != "755" ]]; then
- chmod 755 /var/log/kolla/redis
-fi
diff --git a/docker/redis/redis-sentinel/Dockerfile.j2 b/docker/redis/redis-sentinel/Dockerfile.j2
deleted file mode 100644
index 83fc60df05..0000000000
--- a/docker/redis/redis-sentinel/Dockerfile.j2
+++ /dev/null
@@ -1,25 +0,0 @@
-FROM {{ namespace }}/{{ image_prefix }}redis-base:{{ tag }}
-{% block labels %}
-LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build_date }}"
-{% endblock %}
-
-{% block redis_sentinel_header %}{% endblock %}
-
-{% import "macros.j2" as macros with context %}
-
-{% if base_package_type == 'rpm' %}
- {% set redis_sentinel_packages = ['redis'] %}
-{% elif base_package_type == 'deb' %}
- {% set redis_sentinel_packages = ['redis-sentinel'] %}
-{% endif %}
-{{ macros.install_packages(redis_sentinel_packages | customizable("packages")) }}
-
-COPY extend_start.sh /usr/local/bin/kolla_extend_start
-RUN chmod 644 /usr/local/bin/kolla_extend_start
-
-{{ macros.kolla_patch_sources() }}
-
-{% block redis_sentinel_footer %}{% endblock %}
-{% block footer %}{% endblock %}
-
-USER redis
diff --git a/docker/redis/redis-sentinel/extend_start.sh b/docker/redis/redis-sentinel/extend_start.sh
deleted file mode 100644
index 9044f39908..0000000000
--- a/docker/redis/redis-sentinel/extend_start.sh
+++ /dev/null
@@ -1,32 +0,0 @@
-#!/bin/bash
-
-if [[ ! -d "/var/log/kolla/redis" ]]; then
- mkdir -p /var/log/kolla/redis
-fi
-
-if [[ $(stat -c %a /var/log/kolla/redis) != "755" ]]; then
- chmod 755 /var/log/kolla/redis
-fi
-
-# The CONFIG REWRITE command rewrites the redis.conf
-# file the server was started with, applying the minimal
-# changes needed to make it reflect the configuration
-# currently used by the server, which may be different
-# compared to the original one because of the use of
-# the CONFIG SET command.
-#
-# https://redis.io/commands/config-rewrite/
-#
-# Because of above behaviour it's needed to
-# hack kolla's CMD.
-#
-# Without this hack
-# /usr/local/bin/kolla_set_configs --check
-# is always reporting changed.
-#
-# Therefore redis-sentinel is always restarted
-# even if configuration is not changed from
-# kolla-ansible side.
-if [ ! -z "${REDIS_CONF}" ] && [ ! -z ${REDIS_GEN_CONF} ]; then
- cp ${REDIS_CONF} ${REDIS_GEN_CONF}
-fi
diff --git a/docker/redis/redis/Dockerfile.j2 b/docker/redis/redis/Dockerfile.j2
deleted file mode 100644
index 7e5ce923b2..0000000000
--- a/docker/redis/redis/Dockerfile.j2
+++ /dev/null
@@ -1,22 +0,0 @@
-FROM {{ namespace }}/{{ image_prefix }}redis-base:{{ tag }}
-{% block labels %}
-LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build_date }}"
-{% endblock %}
-
-{% block redis_header %}{% endblock %}
-
-{% import "macros.j2" as macros with context %}
-
-{% if base_package_type == 'rpm' %}
- {% set redis_packages = ['redis'] %}
-{% elif base_package_type == 'deb' %}
- {% set redis_packages = ['redis-server'] %}
-{% endif %}
-{{ macros.install_packages(redis_packages | customizable("packages")) }}
-
-{{ macros.kolla_patch_sources() }}
-
-{% block redis_footer %}{% endblock %}
-{% block footer %}{% endblock %}
-
-USER redis
diff --git a/kolla/common/config.py b/kolla/common/config.py
index 2ec2194ac5..f0fa025e35 100644
--- a/kolla/common/config.py
+++ b/kolla/common/config.py
@@ -38,7 +38,7 @@
'ubuntu': 'Ubuntu 24.04.* LTS',
}
-OPENSTACK_RELEASE = '2025.2'
+OPENSTACK_RELEASE = 'master'
# NOTE(mnasiadka): Using Epoxy here, since Debian OpenStack builds Flamingo
# only for Trixie
OPENSTACK_RELEASE_CODENAME = 'Epoxy'
@@ -64,9 +64,9 @@
'openvswitch',
'proxysql',
'rabbitmq',
- 'redis',
'storm',
'tgtd',
+ 'valkey',
],
help='Infra images'),
cfg.ListOpt('main',
@@ -99,10 +99,10 @@
'masakari',
'mistral',
'octavia',
- 'redis',
'tacker',
'telegraf',
'trove',
+ 'valkey',
'zookeeper',
'zun',
],
diff --git a/kolla/common/users.py b/kolla/common/users.py
index de8fc315cd..ec21b06581 100644
--- a/kolla/common/users.py
+++ b/kolla/common/users.py
@@ -217,7 +217,7 @@
'uid': 42459,
'gid': 42459,
},
- 'redis-user': {
+ 'redis-user': { # unused user (redis dropped)
'uid': 42460,
'gid': 42460,
},
diff --git a/kolla/image/unbuildable.py b/kolla/image/unbuildable.py
index 997b4b86b3..d117ba0a75 100644
--- a/kolla/image/unbuildable.py
+++ b/kolla/image/unbuildable.py
@@ -26,7 +26,6 @@
"hacluster-pcs", # Missing crmsh package
"nova-spicehtml5proxy", # Missing spicehtml5 package
"ovsdpdk", # Not supported on CentOS
- "redis-base", # Missing in CS10
"telegraf", # CS10 no opstools repo
"tgtd", # Not supported on CentOS
},
@@ -41,7 +40,6 @@
"hacluster-pcs", # Missing crmsh package
"nova-spicehtml5proxy", # Missing spicehtml5 package
"ovsdpdk", # Not supported on CentOS
- "redis-base", # Missing in Rocky10
"telegraf", # CS10 no opstools repo
"tgtd", # Not supported on CentOS
},
diff --git a/releasenotes/notes/drop-redis-d286ca1237747c48.yaml b/releasenotes/notes/drop-redis-d286ca1237747c48.yaml
new file mode 100644
index 0000000000..9710a37a28
--- /dev/null
+++ b/releasenotes/notes/drop-redis-d286ca1237747c48.yaml
@@ -0,0 +1,4 @@
+---
+upgrade:
+ - |
+ ``redis`` container image has been dropped due to migration to ``valkey``.