From 024d76534e5d69239a2a8290dab110bfa3c75306 Mon Sep 17 00:00:00 2001
From: SamYaple <sam@yaple.net>
Date: Mon, 14 Mar 2016 01:36:33 +0000
Subject: [PATCH] Use nopreempt for keepalived

Without this option the vip will always bounce to the highest priority
node that is up. So if you reboot the highest priority node the vip
will fail to the second highest. When the highest priority node
recovers it will claim the vip again leaving you will two fail overs
rather than one.

TrivialFix

Change-Id: I4a3c6c10eee391cdbdd80c44a71a9fafd1069944
---
 ansible/roles/haproxy/templates/keepalived.conf.j2 | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/ansible/roles/haproxy/templates/keepalived.conf.j2 b/ansible/roles/haproxy/templates/keepalived.conf.j2
index d599ea7217..e0467fa788 100644
--- a/ansible/roles/haproxy/templates/keepalived.conf.j2
+++ b/ansible/roles/haproxy/templates/keepalived.conf.j2
@@ -6,7 +6,8 @@ vrrp_script check_alive {
 }
 
 vrrp_instance kolla_internal_vip {
-    state MASTER
+    state BACKUP
+    nopreempt
     interface {{ api_interface }}
     virtual_router_id 51
     priority {{ groups['haproxy'].index(inventory_hostname) + 1 }}
@@ -25,7 +26,8 @@ vrrp_instance kolla_internal_vip {
 
 {% if haproxy_enable_external_vip | bool %}
 vrrp_instance kolla_external_vip {
-    state MASTER
+    state BACKUP
+    nopreempt
     interface {{ kolla_external_vip_interface }}
     virtual_router_id 52
     priority {{ groups['haproxy'].index(inventory_hostname) + 1 }}