Redis replication with tls doesnt work, so lets disable it oob

Bug #1735259 reported by Pradeep Kilambi
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
tripleo
Fix Released
High
Pradeep Kilambi

Bug Description

description from bandini's bug:

Seems like “slave” redis servers are not connected to the redis “master” that is being started by pacemaker when you deploy with TLS Everywhere.

On an unencrypted Redis cluster, we can see slaves connected to the master:
# /usr/bin/redis-cli -a xxx -s '/var/run/redis/redis.sock' info

verify if there are any slaves. Here is a working example:
# Replication
role:master
connected_slaves:2
slave0:ip=172.16.2.10,port=6379,state=online,offset=30985,lag=1
slave1:ip=172.16.2.16,port=6379,state=online,offset=30985,lag=1
master_repl_offset:30985
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:2
repl_backlog_histlen:30984

We don’t see any slave connection when TLS everywhere is enabled.
On initial deployment, all replicas of the redis resource start correctly in pacemaker, and give 1 Master and 2 Slave (no error). But that is only because no replication has taken place at all.

However, when restarting a Slave, the start operation won’t succeed because the redis resource agent will try to connect to the redis master, and would fail to do:
Failed Actions:
* redis_start_0 on redis-bundle-2 'unknown error' (1): call=8, status=Timed Out, exitreason='none',
    last-rc-change='Mon Nov 27 15:02:01 2017', queued=1ms, exec=200001ms

With following logs from the slave redis server:
96:S 27 Nov 14:24:15.116 # Error condition on socket for SYNC: Connection reset by peer
96:S 27 Nov 14:24:16.116 * Connecting to MASTER overcloud-controller-1:6379
96:S 27 Nov 14:24:16.117 * MASTER <-> SLAVE sync started
96:S 27 Nov 14:24:16.117 * Non blocking connect for SYNC fired the event.
96:S 27 Nov 14:24:16.117 # Error condition on socket for SYNC: Connection reset by peer
96:S 27 Nov 14:24:17.120 * Connecting to MASTER overcloud-controller-1:6379

This is because on the 6379 port of the remote host there is an stunnel process expecting SSL traffic, whereas redis sends unencrypted traffic to it.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to tripleo-heat-templates (master)

Fix proposed to branch: master
Review: https://review.openstack.org/523969

Changed in tripleo:
assignee: nobody → Pradeep Kilambi (pkilambi)
status: Triaged → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to tripleo-heat-templates (master)

Reviewed: https://review.openstack.org/524012
Committed: https://git.openstack.org/cgit/openstack/tripleo-heat-templates/commit/?id=a3769c03175cb36f0066c173477749a26f767566
Submitter: Zuul
Branch: master

commit a3769c03175cb36f0066c173477749a26f767566
Author: Pradeep Kilambi <email address hidden>
Date: Wed Nov 29 22:31:29 2017 +0000

    Redis replication does not work with TLS

    Lets revert the tls support until we know it works.

    Revert "TLS proxy for redis"

    This reverts commit c2a93cf4c5d9d6b5ee0536380751a7a9540927cc.

    Closes-bug: #1735259

    Change-Id: I8157ce04617c094978175f3e4b3071bdf76362fe

Changed in tripleo:
status: In Progress → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote :

Reviewed: https://review.openstack.org/524009
Committed: https://git.openstack.org/cgit/openstack/tripleo-heat-templates/commit/?id=ebc8414cd0c18426ff80d9d65c964e91a7fe447f
Submitter: Zuul
Branch: master

commit ebc8414cd0c18426ff80d9d65c964e91a7fe447f
Author: Pradeep Kilambi <email address hidden>
Date: Wed Nov 29 22:29:23 2017 +0000

    Redis replication does not work with TLS

    Lets revert the tls support until we know it works.

    Revert "Enable redis TLS proxy in HA deployments"

    This reverts commit c6d8df01d7aa8b44af9ac152b3bb08f07e2e02b7.

    Closes-bug: #1735259

    Change-Id: If98acec1b8d0a179d56b8412e5c0ad9341719cea

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to tripleo-heat-templates (stable/pike)

Fix proposed to branch: stable/pike
Review: https://review.openstack.org/524450

Revision history for this message
OpenStack Infra (hudson-openstack) wrote :

Fix proposed to branch: stable/pike
Review: https://review.openstack.org/524452

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to puppet-tripleo (master)

Reviewed: https://review.openstack.org/524111
Committed: https://git.openstack.org/cgit/openstack/puppet-tripleo/commit/?id=fbc089eddfc16f472c5c5017b54e7ae30463c12d
Submitter: Zuul
Branch: master

commit fbc089eddfc16f472c5c5017b54e7ae30463c12d
Author: Juan Antonio Osorio Robles <email address hidden>
Date: Thu Nov 30 11:39:33 2017 +0200

    Revert "Use TLS proxy for Redis' internal TLS"

    This reverts commit 2d1d7875aa6f0b68005c84189627bc0716a7693f.

    Closes-Bug: #1735259
    Change-Id: I37501c4c983c87e3a38841272eb176ebbe626a65

tags: added: in-stable-pike
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to tripleo-heat-templates (stable/pike)

Reviewed: https://review.openstack.org/524450
Committed: https://git.openstack.org/cgit/openstack/tripleo-heat-templates/commit/?id=8d7a9fc3d9a33fcdd070ef43f653c458d30e439c
Submitter: Zuul
Branch: stable/pike

commit 8d7a9fc3d9a33fcdd070ef43f653c458d30e439c
Author: Pradeep Kilambi <email address hidden>
Date: Wed Nov 29 22:31:29 2017 +0000

    Redis replication does not work with TLS

    Lets revert the tls support until we know it works.

    Revert "TLS proxy for redis"

    This reverts commit c2a93cf4c5d9d6b5ee0536380751a7a9540927cc.

    Closes-bug: #1735259

    Change-Id: I8157ce04617c094978175f3e4b3071bdf76362fe
    (cherry picked from commit a3769c03175cb36f0066c173477749a26f767566)

Revision history for this message
OpenStack Infra (hudson-openstack) wrote :

Reviewed: https://review.openstack.org/524452
Committed: https://git.openstack.org/cgit/openstack/tripleo-heat-templates/commit/?id=add0101bf28cf0d961ce31724994d561dafe8263
Submitter: Zuul
Branch: stable/pike

commit add0101bf28cf0d961ce31724994d561dafe8263
Author: Pradeep Kilambi <email address hidden>
Date: Wed Nov 29 22:29:23 2017 +0000

    Redis replication does not work with TLS

    Lets revert the tls support until we know it works.

    Revert "Enable redis TLS proxy in HA deployments"

    This reverts commit c6d8df01d7aa8b44af9ac152b3bb08f07e2e02b7.

    Closes-bug: #1735259

    Change-Id: If98acec1b8d0a179d56b8412e5c0ad9341719cea
    (cherry picked from commit ebc8414cd0c18426ff80d9d65c964e91a7fe447f)

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Change abandoned on tripleo-heat-templates (master)

Change abandoned by Pradeep Kilambi (<email address hidden>) on branch: master
Review: https://review.openstack.org/523969

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/puppet-tripleo 8.1.0

This issue was fixed in the openstack/puppet-tripleo 8.1.0 release.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/tripleo-heat-templates 8.0.0.0b2

This issue was fixed in the openstack/tripleo-heat-templates 8.0.0.0b2 development milestone.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/tripleo-heat-templates 7.0.6

This issue was fixed in the openstack/tripleo-heat-templates 7.0.6 release.

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.