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
 ####################