62 lines
1.6 KiB
Django/Jinja
62 lines
1.6 KiB
Django/Jinja
{{ 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 %}
|