blob: 08b821f70374e3b5272db70487b1f6da0a2c3dfb (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
|
# Autogenerated by VyOS
# Do not edit this file, all your changes will be lost
# on next commit or reboot
global_defs {
dynamic_interfaces
script_user root
notify_fifo /run/keepalived_notify_fifo
notify_fifo_script /usr/libexec/vyos/system/keepalived-fifo.py
}
{% for group in groups -%}
{% if group.health_check_script -%}
vrrp_script healthcheck_{{ group.name }} {
script "{{ group.health_check_script }}"
interval {{ group.health_check_interval }}
fall {{ group.health_check_count }}
rise 1
}
{% endif %}
vrrp_instance {{ group.name }} {
{% if group.description -%}
# {{ group.description }}
{% endif -%}
state BACKUP
interface {{ group.interface }}
virtual_router_id {{ group.vrid }}
priority {{ group.priority }}
advert_int {{ group.advertise_interval }}
{% if group.preempt -%}
preempt_delay {{ group.preempt_delay }}
{% else -%}
nopreempt
{% endif -%}
{% if group.peer_address -%}
unicast_peer { {{ group.peer_address }} }
{% endif -%}
{% if group.hello_source -%}
{%- if group.peer_address -%}
unicast_src_ip {{ group.hello_source }}
{%- else -%}
mcast_src_ip {{ group.hello_source }}
{%- endif %}
{% endif -%}
{% if group.use_vmac and group.peer_address -%}
use_vmac {{group.interface}}v{{group.vrid}}
vmac_xmit_base
{% elif group.use_vmac -%}
use_vmac {{group.interface}}v{{group.vrid}}
{% endif -%}
{% if group.auth_password -%}
authentication {
auth_pass "{{ group.auth_password }}"
auth_type {{ group.auth_type }}
}
{% endif -%}
virtual_ipaddress {
{% for addr in group.virtual_addresses -%}
{{ addr }}
{% endfor -%}
}
{% if group.health_check_script -%}
track_script {
healthcheck_{{ group.name }}
}
{% endif -%}
}
{% endfor -%}
{% for sync_group in sync_groups -%}
vrrp_sync_group {{ sync_group.name }} {
group {
{% for member in sync_group.members -%}
{{ member }}
{% endfor -%}
}
{% if sync_group.conntrack_sync -%}
notify_master "/opt/vyatta/sbin/vyatta-vrrp-conntracksync.sh master {{ sync_group.name }}"
notify_backup "/opt/vyatta/sbin/vyatta-vrrp-conntracksync.sh backup {{ sync_group.name }}"
notify_fault "/opt/vyatta/sbin/vyatta-vrrp-conntracksync.sh fault {{ sync_group.name }}"
{% endif -%}
}
{% endfor -%}
|