ClusterLabs / ClusterLabs/resource-agents

ocf_heartbeat_redis resource not able to point the slave to the master on failback

Open
#1,226 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Shell
Stars
519
Forks
608
Avg merge
6d 1h
Merged PRs (30d)
7

Description

the redis resource is not able to point the slave node to the new master redis server on a failback operation. The other resources are back up correctly

Slave node logs: (note the line `Setting master to 'no-such-master'`)
`Sep 29 19:07:44 IPaddr2(virtual_public_ip)[13245]: INFO: Adding inet address 192.168.56.122/24 with broadcast address 192.168.56.255 to device enp0s9
Sep 29 19:07:44 IPaddr2(virtual_public_ip)[13245]: INFO: Bringing device enp0s9 up
Sep 29 19:07:44 IPaddr2(virtual_public_ip)[13245]: INFO: /usr/lib/heartbeat/send_arp -i 200 -r 5 -p /var/run/resource-agents/send_arp-192.168.56.122 enp0s9 192.168.56.122 auto not_used not_used
Sep 29 19:07:45 IPaddr2(virtual_public_ip)[13245]: INFO:
Sep 29 19:08:11 IPaddr2(virtual_public_ip)[13531]: INFO: IP status = ok, IP_CIP=
Sep 29 19:08:12 redis(p_redis)[13631]: INFO: demote: Setting master to 'no-such-master'
Sep 29 19:08:14 redis(p_redis)[13736]: INFO: monitor: Slave mode link has not yet been established (link=down)
Sep 29 19:08:14 redis(p_redis)[13736]: INFO: demote: Setting master to 'no-such-master'`

Redis resource:
`primitive p_redis redis \
op monitor timeout=60 interval=45 depth=0 \
op monitor role=Master timeout=60 interval=20 depth=0 \
op monitor role=Slave timeout=60 interval=60 depth=0`

clone resource:
`ms redis_clone p_redis \
meta notify=true interleave=true`

I also have a constant to start the virtual ip first of the redis resource:
`colocation ip-on-redis inf: virtual_public_ip redis_clone:Master`

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with the ocf_heartbeat_redis resource agent and review how the demote and monitor operations handle the master address during failback. Reproduce the reported failback using the p_redis and redis_clone configuration, then verify that the former slave is pointed to the new master instead of no-such-master.

Written by the indexing model from the issue text.

Assessment

Tech stack
redis, shell
Domain
databases, distributed-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.