Tested in VyOS 1.3-beta-202112120443 & VyOS 1.4-rolling-202112160318
VRRP health-check script stops working when setting up a sync group
To reproduce:
set interfaces ethernet eth0 address '1.1.1.37/24' set interfaces ethernet eth0 description 'outside' set high-availability vrrp group TST virtual-address '1.1.1.36/24' set high-availability vrrp group TST health-check failure-count '3' set high-availability vrrp group TST health-check interval '2' set high-availability vrrp group TST health-check script '/config/scripts/vrrp-health.sh' set high-availability vrrp group TST interface 'eth0' set high-availability vrrp group TST priority '100' set high-availability vrrp group TST vrid '1'
Health-check script works. Next:
set interfaces ethernet eth1 address '10.1.1.2/24' set interfaces ethernet eth1 description 'inside' set high-availability vrrp group TST_LAN virtual-address '10.45.1.1/24' set high-availability vrrp group TST_LAN interface 'eth1' set high-availability vrrp group TST_LAN priority '100' set high-availability vrrp group TST_LAN vrid '2'
Health-check script works. Next:
set high-availability vrrp sync-group SYNCgrp member 'TST' set high-availability vrrp sync-group SYNCgrp member TST_LAN set high-availability vrrp sync-group SYNCgrp transition-script master '/config/scripts/vrrp-master.sh'
Health-check STOP working
Corresponding keepalived config:
vyos@vyos:~$ cat /run/keepalived/keepalived.conf # Autogenerated by VyOS # Do not edit this file, all your changes will be lost # on next commit or reboot global_defs { dynamic_interfaces script_user root notify_fifo /run/keepalived/keepalived_notify_fifo notify_fifo_script /usr/libexec/vyos/system/keepalived-fifo.py } vrrp_script healthcheck_TST { script "/config/scripts/vrrp-health.sh" interval 2 fall 3 rise 1 } vrrp_instance TST { state BACKUP interface eth0 virtual_router_id 1 priority 100 advert_int 1 preempt_delay 0 virtual_ipaddress { 1.1.1.36/24 } track_script { healthcheck_TST } } vrrp_instance TST_LAN { state BACKUP interface eth1 virtual_router_id 2 priority 100 advert_int 1 preempt_delay 0 virtual_ipaddress { 10.45.1.1/24 } } vrrp_sync_group SYNCgrp { group { TST TST_LAN } }