global_defs { } vrrp_script track { script "[ -f /etc/keepalived/track.sh ] || exit 0 && /etc/keepalived/track.sh" interval {{ keepalived_check_interval }} } {% for vrrp in keepalived_vrrp %} {% set vrrp_id = loop.index %} {% for vips in vrrp.vips %} {% set id = ( vips | ipaddr('address') | regex_replace('^.*\.', '') ) %} vrrp_instance VI_{{vrrp_id}}_{{ loop.index }} { virtual_router_id {{ (vrrp_id - 1) * 32 + (loop.index) }} state {{ (( ( loop.index - 1) % (keepalived_num_nodes | int) ) == (keepalived_node_id | int) ) | ternary('MASTER', 'BACKUP') }} state {{ (( ( loop.index - 1) % (keepalived_num_nodes | int) ) == (keepalived_node_id | int) ) | ternary(keepalived_master_prio, keepalived_backup_prio) }} interface {{ vrrp.iface }} virtual_ipaddress { {{ vips }} dev {{ vrrp.iface }} } advert_int 1 authentication { auth_type PASS auth_pass {{ keepalived_password }} } track_script { track } } {% endfor %} {% endfor %}