{{ ansible_header | comment }} global_defs { notification_email { {{ keepalived.mail_destination }} } notification_email_from {{ keepalived.mail_source }} smtp_server {{ keepalived.smtp_server }} } {% for instance in keepalived.instances %} vrrp_instance {{ instance.tag }}4 { state {{ instance.state }} priority {{ instance.priority }} smtp_alert interface {{ interfaces.adm }} virtual_router_id {{ keepalived.pool[instance.name].id }} advert_int 2 authentication { auth_type PASS auth_pass {{ keepalived.pool[instance.name].password }} } {% if keepalived.pool[instance.name].notify is defined %} notify {{ keepalived.pool[instance.name].notify }} {% endif %} virtual_ipaddress { {% for zone in keepalived.pool[instance.name].zones %} {% if zone.brd is undefined or zone.brd %} {{ zone.ipv4 }} brd {{ zone.ipv4 | ipaddr('broadcast') }} dev {{ interfaces[zone.vlan] }} scope global {% else %} {{ zone.ipv4 }} dev {{ interfaces[zone.vlan] }} scope global {% endif %} {% endfor %} } } {% if keepalived.pool[instance.name].ipv6 %} vrrp_instance {{ instance.tag }}6 { state {{ instance.state }} priority {{ instance.priority }} smtp_alert interface {{ interfaces.adm }} virtual_router_id {{ keepalived.pool[instance.name].id }} advert_int 2 authentication { auth_type PASS auth_pass {{ keepalived.pool[instance.name].password }} } virtual_ipaddress { {% for zone in keepalived.pool[instance.name].zones %} {% if zone.ipv6 is defined %} {{ zone.ipv6 }} dev {{ interfaces[zone.vlan] }} scope global {% endif %} {% endfor %} } } {% endif %} {% endfor %}