global_defs { enable_script_security script_user "{{ vip_script_user }}" {% if vip_alerts_to | default([]) | length > 0 %} notification_email { {% for dest in vip_alerts_to %} {{ dest }} {% endfor %} } notification_email_from {{ vip_smtp_from }} smtp_server {{ vip_smtp_relay }} smtp_connect_timeout 30 router_id {{ ansible_hostname }} {% endif %} } vrrp_script chk_{{ vip_monitored_process }} { script "/usr/bin/killall -0 {{ vip_monitored_process }}" # Check if process is running interval 2 # Check every 2 seconds weight 2 # Weight to influence master election } {% for ip in vip_vrrp_ips %} # master: {{ ip.master }} vrrp_instance VI_{{ ip.virtual_router_id }} { state {{ (ansible_hostname==ip.master) | ternary('MASTER', 'BACKUP') }} interface eth0 virtual_router_id {{ ip.virtual_router_id }} priority {{ (ansible_hostname==ip.master) | ternary('101', '100') }} advert_int 1 promote_secondaries smtp_alert true authentication { auth_type PASS auth_pass {{ vip_vrrp_password }} } virtual_ipaddress { {{ ip.addr }} } track_script { chk_{{ vip_monitored_process }} } } {% endfor %}