vshn / floaty

Cloud provider API integration for Keepalived

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Support different `managed-addresses` for different VRRP instances in FIFO mode

simu opened this issue · comments

Summary

As an operator of Keepalived+Floaty setups
I want to be able to use Floaty's FIFO mode for configurations with multiple independent VRRP instances with different VIPs
So that I can profit from the advantages of FIFO mode without being restricted in the possible configurations that work with FIFO mode.

Context

We've added initial support for FIFO mode in #51, but didn't consider more complex Keepalived setups with multiple VRRP instances which may transition between states independently. Currently, Floaty in FIFO mode only works correctly for Keepalived configurations with a single VRRP instance which contains all addresses specified in Floaty's managed-addresses configuration.

We should extend Floaty's config to allow configuration files to contain multiple managed-addresses configurations for different VRRP instances so that Floaty can manage those VIP sets independently when the corresponding VRRP instance's state changes.

Out of Scope

  • Extend the VSHN-internal Puppet profile to support the new feature

Further links

Acceptance criteria

  • Floaty FIFO mode can manage multiple sets of VIPs (one set per VRRP instance) independently

Implementation Ideas

  • Change config to have a new key which is only read in FIFO mode which contains a map from VRRP instance name to VIPs (similar to managed-addresses currently)
  • Fix or replace Floaty's keepalived config parsing to support extracting the VIPs associated with a VRRP instance directly from the Keepalived config