Redis template uses deprecated options

Bug #1915013 reported by Petr Tůma
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
kolla-ansible
Fix Released
Medium
Unassigned
Train
Won't Fix
Medium
Unassigned
Ussuri
Fix Released
Medium
Unassigned
Victoria
Fix Released
Medium
Unassigned
Wallaby
Fix Released
Medium
Unassigned

Bug Description

Redis.conf template uses deprecated replication directives, described here: https://github.com/redis/redis/issues/5335

This resulted in no telemetry being gathered in Gnocchi.

Environment:
Detected in Train version (RHEL8 binary build of containers), but all branches of kolla-ansible seem to use pre 5.x directives. Any deployment that will use Redis 5.x in containers is going to be affected.

I tested with pristine Train kolla-ansible and CentOS 8 images pulled from DockerHub and redis-sentinel (we don't use it though) hides the issue and telemetry is working as expected.

Revision history for this message
Petr Tůma (samsung.petr.tuma) wrote :

Fix is rather easy (s/slave/replica/). I can easily push fix, but I'm wondering whether there is any suggested Redis release for given OpenStack release or not (I'm not aware of any). I.e. is it desirable to keep original syntax in case of older Redis containers and use new one for v5+ container or not?

Mark Goddard (mgoddard)
Changed in kolla-ansible:
importance: Undecided → Medium
Revision history for this message
Mark Goddard (mgoddard) wrote :

Hi Petr. We just install redis from distro packages, so we'll get whatever version is available. CentOS seems to have 5.0.3, and Ubuntu 5.0.7. So we should be safe to switch to replica except for CentOS 7 on train.

Revision history for this message
Petr Tůma (samsung.petr.tuma) wrote :

Hi Mark,

ok, I'll push the fix as soon as I get my approval to do so.

Regarding the Train, I've been thinking about possible ways to detect Redis version and:

1) using kolla_docker doesn't seem to be good way, it does not collect stdout of container operations

2) running new container using shell (i.e. docker run -t --rm redis:tag redis-server --version)

3) detecting operating system (either using host OS or image tags) and using that to get correct configuration options in template

4) Leave it as it is, considering Train (and CentOS / RHEL v7) are nearly at EOL. Sentinel hides the issue, only deployments without it are affected functionally and those are not supported by kolla-ansible out of the box.

I think #3 seems best for standard deployments with no customization of either kolla-ansible or containers built by kolla.

Revision history for this message
Mark Goddard (mgoddard) wrote :

Hi Petr. #3 fits with our current model best. You can use the kolla_base_distro variable, as well as the following expression:

ansible_distribution_major_version is version(8, '>=')

Changed in kolla-ansible:
status: New → Triaged
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Change abandoned on kolla-ansible (stable/train)

Change abandoned by "Radosław Piliszek <email address hidden>" on branch: stable/train
Review: https://review.opendev.org/c/openstack/kolla-ansible/+/779478
Reason: Train is going EM, this change is not a bugfix (see master) so abandoning

Revision history for this message
Adrian Andreias (adrian-fleio) wrote :

Redis conf switched to using "replica" instead of "slave" in Victoria:

https://opendev.org/openstack/kolla-ansible/src/branch/stable/victoria/ansible/roles/redis/templates/redis.conf.j2#L19

So I think this bug can be closed.

Changed in kolla-ansible:
status: Triaged → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Change abandoned on kolla-ansible (stable/ussuri)

Change abandoned by "Radosław Piliszek <email address hidden>" on branch: stable/ussuri
Review: https://review.opendev.org/c/openstack/kolla-ansible/+/777746
Reason: the change is stale and ussuri is em

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.