From 676998a1241f68b77d15b09d7113ae2182130c68 Mon Sep 17 00:00:00 2001
From: Carlos Cesario <carloscesario@gmail.com>
Date: Thu, 31 Mar 2016 15:32:00 -0300
Subject: [PATCH] Make keepalived virtual_router_id param configurable

To be kolla deploy multiple clouds, we need to be able to configure
virtual_router_id other wise haproxy will fail setup the VIP for the
second cloud.

Partially-Implements: blueprint multiple-cloud
Closes-Bug: #1564547
Change-Id: I9eb27dd6fba61205841eadafc96601e235d2fe6d
---
 ansible/group_vars/all.yml                         | 7 +++++++
 ansible/roles/haproxy/templates/keepalived.conf.j2 | 4 ++--
 etc/kolla/globals.yml                              | 7 +++++++
 3 files changed, 16 insertions(+), 2 deletions(-)

diff --git a/ansible/group_vars/all.yml b/ansible/group_vars/all.yml
index a0ab95a8a9..da2205648c 100644
--- a/ansible/group_vars/all.yml
+++ b/ansible/group_vars/all.yml
@@ -67,6 +67,13 @@ docker_common_options:
     restart_retries: "{{ docker_restart_policy_retry }}"
 
 
+####################
+# keepalived options
+####################
+# Arbitary unique number from 0..255
+keepalived_virtual_router_id: "51"
+
+
 ####################
 # Networking options
 ####################
diff --git a/ansible/roles/haproxy/templates/keepalived.conf.j2 b/ansible/roles/haproxy/templates/keepalived.conf.j2
index b6abb82e23..8307a2f503 100644
--- a/ansible/roles/haproxy/templates/keepalived.conf.j2
+++ b/ansible/roles/haproxy/templates/keepalived.conf.j2
@@ -5,11 +5,11 @@ vrrp_script check_alive {
     rise 10
 }
 
-vrrp_instance kolla_internal_vip {
+vrrp_instance kolla_internal_vip_{{ keepalived_virtual_router_id }} {
     state BACKUP
     nopreempt
     interface {{ api_interface }}
-    virtual_router_id 51
+    virtual_router_id {{ keepalived_virtual_router_id }}
     priority {{ groups['haproxy'].index(inventory_hostname) + 1 }}
     advert_int 1
     virtual_ipaddress {
diff --git a/etc/kolla/globals.yml b/etc/kolla/globals.yml
index 6ef24ffa47..0ca120a477 100644
--- a/etc/kolla/globals.yml
+++ b/etc/kolla/globals.yml
@@ -74,6 +74,13 @@ neutron_external_interface: "eth1"
 #neutron_plugin_agent: "openvswitch"
 
 
+####################
+# keepalived options
+####################
+# Arbitary unique number from 0..255
+#keepalived_virtual_router_id: "51"
+
+
 ####################
 # TLS options
 ####################