diff options
author | Viacheslav <v.gletenko@vyos.io> | 2021-12-21 14:26:16 +0000 |
---|---|---|
committer | Viacheslav <v.gletenko@vyos.io> | 2021-12-21 14:26:16 +0000 |
commit | ee2c382c7c740bc61d4eee184d7fddb1a6a8bbdc (patch) | |
tree | e5e91a9625a3b034761705073e7ae91397ce3d4c /data | |
parent | 9275fd942cef387c1163bcdf5fff3a200f557f4c (diff) | |
download | vyos-1x-ee2c382c7c740bc61d4eee184d7fddb1a6a8bbdc.tar.gz vyos-1x-ee2c382c7c740bc61d4eee184d7fddb1a6a8bbdc.zip |
keepalived: T4081: Fix health-checking when syn-group is used
If health-check scripts are used in vrrp group and vrrp group
is membmer of sync-group, then health-check scripts should be
part of the section "vrrp_sync_group". In other case the
health-scripts won't work anymore.
Diffstat (limited to 'data')
-rw-r--r-- | data/templates/vrrp/keepalived.conf.tmpl | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/data/templates/vrrp/keepalived.conf.tmpl b/data/templates/vrrp/keepalived.conf.tmpl index b93aa4bc9..6585fc60b 100644 --- a/data/templates/vrrp/keepalived.conf.tmpl +++ b/data/templates/vrrp/keepalived.conf.tmpl @@ -83,15 +83,24 @@ vrrp_instance {{ name }} { {% endif %} {% if sync_group is defined and sync_group is not none %} -{% for name, group_config in sync_group.items() if group_config.disable is not defined %} +{% for name, sync_group_config in sync_group.items() if sync_group_config.disable is not defined %} vrrp_sync_group {{ name }} { group { -{% if group_config.member is defined and group_config.member is not none %} -{% for member in group_config.member %} +{% if sync_group_config.member is defined and sync_group_config.member is not none %} +{% for member in sync_group_config.member %} {{ member }} {% endfor %} {% endif %} } + +{# Health-check scripts should be in section sync-group if member is part of the sync-group T4081 #} +{% for name, group_config in group.items() if group_config.disable is not defined %} +{% if group_config.health_check is defined and group_config.health_check.script is defined and group_config.health_check.script is not none and name in sync_group_config.member %} + track_script { + healthcheck_{{ name }} + } +{% endif %} +{% endfor %} {% if conntrack_sync_group is defined and conntrack_sync_group == name %} {% set vyos_helper = "/usr/libexec/vyos/vyos-vrrp-conntracksync.sh" %} notify_master "{{ vyos_helper }} master {{ name }}" |