ansible-roles/library/roles/keepalived/templates/keepalived.conf.j2

82 lines
2.0 KiB
Django/Jinja

global_defs {
{% if keepalived_enable_script_security %}
enable_script_security
script_user {{ keepalived_script_username }}
{% endif %}
}
{% for script in keepalived_scripts %}
vrrp_script {{ script.name }} {
script "{{ script.script }}"
interval {{ script.interval | default(1) }}
weight {{ script.weight | default(2) }}
fall {{ script.fall | default(3) }}
rise {{ script.raise | default(2) }}
timeout {{ script.timeout | default(5) }}
}
{% endfor %}
{% for instance in keepalived_instances %}
vrrp_instance {{ instance.name }} {
interface {{ instance.interface }}
{% if instance.state is defined %}
state {{ instance.state }}
{% endif %}
virtual_router_id {{ instance.vrouter_id }}
priority {{ instance.priority }}
{% if instance.notify is defined %}
notify {{ instance.notify }}
{% endif %}
{% if instance.nopreempt is defined and instance.nopreempt %}
nopreempt
{% endif %}
{% if instance.authentication is defined %}
authentication {
auth_type {{ instance.authentication }}
auth_pass {{ instance.authpass }}
}
{% endif %}
virtual_ipaddress {
{% for addr in instance.v_addr %}
{{ addr }}
{% endfor %}
}
track_script {
{% for trk in instance.track_script %}
{{ trk }}
{% endfor %}
}
{% if instance.track_interface is defined %}
track_interface {
{% for if in instance.track_interface %}
{{ if }}
{% endfor %}
}
{% endif %}
{% if keepalived_use_unicast %}
unicast_src_ip {{ instance.keepalived_unicast_src_ip }}
unicast_peer {
{% for ipaddr in instance.keepalived_unicast_peer_ip %}
{{ ipaddr }}
{% endfor %}
}
{% endif %}
}
{% endfor %}