Page MenuHomeVyOS Platform

VRRP fails over when adding new group to master
Closed, ResolvedPublicBUG

Description

  • When I add a vrrp group to high availability, master will failover to the backup.
  • Current master has higher priority.
  • no-preempt in use
  • No sync-group in use.

Steps to reproduce
On master router, configure physical ipv4 and ipv6 on vlans.

set vrrp group IPv4_v1852 interface 'eth1.1852'
set vrrp group IPv4_v1852 no-preempt
set vrrp group IPv4_v1852 priority '115'
set vrrp group IPv4_v1852 virtual-address '192.168.3.1/24'
set vrrp group IPv4_v1852 vrid '12'
set vrrp group IPv4_v2001 interface 'eth1.2001'
set vrrp group IPv4_v2001 no-preempt
set vrrp group IPv4_v2001 priority '115'
set vrrp group IPv4_v2001 virtual-address '192.168.4.1/24'
set vrrp group IPv4_v2001 vrid '12'

Backup router same config but with priority 12

then add this configuration

set vrrp group IPv6_v2001 interface 'eth1.2001'
set vrrp group IPv6_v2001 no-preempt
set vrrp group IPv6_v2001 priority '115'
set vrrp group IPv6_v2001 virtual-address '2001:db8:1234:1234::1/24'
set vrrp group IPv6_v2001 vrid '99'

Now on master router, only IPv6_v2001 group will be in master state, while the other is in backup state.

Then add vrrp group to "backup" router, and all groups are back to master state on the first router.

Details

Difficulty level
Easy (less than an hour)
Version
1.3.0-epa2
Why the issue appeared?
Implementation mistake
Is it a breaking change?
Perfectly compatible
Issue type
Bug (incorrect behavior)

Event Timeline

Unknown Object (User) changed the task status from Open to Confirmed.Oct 26 2021, 1:32 PM
Unknown Object (User) added a subscriber: Unknown Object (User).Oct 26 2021, 1:36 PM

It seems to be because of the keepalived reloading at "commit".

Oct 26 13:29:59 vyos keepalived-fifo.py[2367]: Ending processing: Received SIGTERM signal
Oct 26 13:29:59 vyos keepalived-fifo.py[2367]: Closing FIFO pipe
Oct 26 13:29:59 vyos keepalived-fifo.py[2367]: Received message: INSTANCE "IPv4_v1852" STOP 115
Oct 26 13:29:59 vyos keepalived-fifo.py[2367]: INSTANCE IPv4_v1852 changed state to STOP
Oct 26 13:29:59 vyos keepalived-fifo.py[2367]: Received message: INSTANCE "IPv4_v2001" STOP 115
Oct 26 13:29:59 vyos keepalived-fifo.py[2367]: INSTANCE IPv4_v2001 changed state to STOP
Oct 26 13:29:59 vyos keepalived-fifo.py[2367]: Terminating messages processing thread

Same procedure on 1.2.8, when adding new settings to master, it all remains as master.
Log after commit

Oct 26 18:13:25 vyos systemd[1]: Reloading Keepalive Daemon (LVS and VRRP).
Oct 26 18:13:25 vyos Keepalived[2509]: Reloading ...
Oct 26 18:13:25 vyos Keepalived[2509]: Opening file '/etc/keepalived/keepalived.conf'.
Oct 26 18:13:25 vyos systemd[1]: Reloaded Keepalive Daemon (LVS and VRRP).
Oct 26 18:13:25 vyos Keepalived_vrrp[2515]: Reloading
Oct 26 18:13:25 vyos Keepalived_vrrp[2515]: Opening file '/etc/keepalived/keepalived.conf'.
Oct 26 18:13:25 vyos Keepalived_vrrp[2515]: (IPv6_v2001) the first IPv6 VIP address must be link local
Oct 26 18:13:25 vyos Keepalived_vrrp[2515]: Registering gratuitous NDISC shared channel
Oct 26 18:13:25 vyos Keepalived_vrrp[2515]: (IPv6_v2001) Entering BACKUP STATE (init)
Oct 26 18:13:29 vyos Keepalived_vrrp[2515]: (IPv6_v2001) Entering MASTER STATE
Oct 26 18:13:29 vyos Keepalived_vrrp[2515]: (IPv6_v2001) using locally configured advertisement interval (1000 milli-sec)
c-po triaged this task as High priority.
c-po added a project: VyOS 1.4 Sagitta.
c-po moved this task from Need Triage to Finished on the VyOS 1.4 Sagitta board.
c-po moved this task from Need Triage to 1.3.0-epa3 on the VyOS 1.3 Equuleus board.
c-po edited projects, added VyOS 1.3 Equuleus (1.3.0-epa3); removed VyOS 1.3 Equuleus.
c-po moved this task from Need Triage to Finished on the VyOS 1.3 Equuleus (1.3.0-epa3) board.
c-po changed Difficulty level from Unknown (require assessment) to Easy (less than an hour).
c-po changed Why the issue appeared? from Will be filled on close to Implementation mistake.
c-po changed Is it a breaking change? from Unspecified (possibly destroys the router) to Perfectly compatible.
c-po changed Issue type from Unspecified (please specify) to Bug (incorrect behavior).