ceph-rgw-loadbalancer: Fix keepalived master selection

While 2ca33641 fixed a bug in the way the `keepalived.conf.j2` template matched
hostnames to set the VRRP `MASTER`/`BACKUP` states, it also introduced a
regression in the case where `virtual_ips` is a list of more than one IP
address.

The previous behavior would result in each host in the `rgwloadbalancers` group
to be `MASTER` for one of the `virtual_ips`, but the new behavior caused the
first host to be `MASTER` for all the IP address in `virtual_ips`.

This commit restores the original behavior.

Signed-off-by: Benoît Knecht <bknecht@protonmail.ch>
(cherry picked from commit 2bede4762e)
pull/6533/head
Benoît Knecht 2020-06-01 17:09:18 +02:00 committed by Guillaume Abrioux
parent 2d59f4579b
commit 97066a1ebc
1 changed files with 2 additions and 2 deletions

View File

@ -15,8 +15,8 @@ vrrp_script check_haproxy {
{% for instance in vrrp_instances %} {% for instance in vrrp_instances %}
vrrp_instance {{ instance['name'] }} { vrrp_instance {{ instance['name'] }} {
state {{ 'MASTER' if ansible_facts['hostname'] == instance['master'] else 'BACKUP' }} state {{ 'MASTER' if inventory_hostname == instance['master'] else 'BACKUP' }}
priority {{ '100' if ansible_facts['hostname'] == instance['master'] else '90' }} priority {{ '100' if inventory_hostname == instance['master'] else '90' }}
interface {{ virtual_ip_interface }} interface {{ virtual_ip_interface }}
virtual_router_id {{ 50 + loop.index }} virtual_router_id {{ 50 + loop.index }}
advert_int 1 advert_int 1