Skip to content
Snippets Groups Projects
Commit 6832e0aa authored by Pavel Glushchak's avatar Pavel Glushchak Committed by Pavel Gluschak (scsnow)
Browse files

keepalived: ability to use unicast instead of multicast

In some data centers multicast traffic is prohibited. Additionally
VRRP id needs to be unique within broadcast domain when keepalived
operates in multicast mode, otherwise it fails to start.

However keepalived can be configured to use unicast traffic [1].
In unicast mode VRRP id doesn't make sense, but needs to be
the same among peers.

[1] http://manpages.ubuntu.com/manpages/zesty/man5/keepalived.conf.5.html



Change-Id: I692ecbb0aa750baf20c013b53b57f88b474b63cc
Signed-off-by: default avatarPavel Glushchak <pglushchak@virtuozzo.com>
parent 378b8dd9
No related branches found
No related tags found
No related merge requests found
......@@ -44,3 +44,6 @@ haproxy_glance_api_server_timeout: "6h"
syslog_server: "{{ api_interface_address }}"
syslog_haproxy_facility: "local1"
# Traffic mode. Valid options are [ multicast, unicast ]
keepalived_traffic_mode: "multicast"
......@@ -12,8 +12,21 @@ vrrp_instance kolla_internal_vip_{{ keepalived_virtual_router_id }} {
virtual_router_id {{ keepalived_virtual_router_id }}
priority {{ groups['haproxy'].index(inventory_hostname) + 1 }}
advert_int 1
{% if keepalived_traffic_mode == 'unicast' %}
unicast_src_ip {{ api_interface_address }}
{% if groups['haproxy'] | length > 1 %}
unicast_peer {
{% for host in groups['haproxy'] %}
{% set ip_addr = hostvars[host]['ansible_' + hostvars[host]['api_interface']]['ipv4']['address'] %}
{% if ip_addr != api_interface_address %}
{{ ip_addr }}
{% endif %}
{% endfor %}
}
{% endif %}
{% endif %}
virtual_ipaddress {
{{ kolla_internal_vip_address }} dev {{ api_interface }}
{{ kolla_internal_vip_address }} dev {{ api_interface }}
{% if haproxy_enable_external_vip | bool %}
{{ kolla_external_vip_address }} dev {{ kolla_external_vip_interface }}
{% endif %}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment