From 144d9bbc2d5e8856235d570f9e9960758d7af9a9 Mon Sep 17 00:00:00 2001
From: Duc Nguyen Cong <ducnc7@viettel.com.vn>
Date: Mon, 3 Dec 2018 17:09:22 +0700
Subject: [PATCH] Support list of controller ip for the amphorae heartbeat
 receiver

In multi controller deployment, kolla will generate
"controller_ip_port_list option" in [health_manager] section with
ONLY IP of that node instead of a list of controller ip.
Therefor, "amphora-agent.conf" file of amphora instance will
contain IP of ONLY ONE controller node.
In case of that node fail, amphora agent won't send heartbeat
message to other health manager node, and the loadbalancer will
go to ERROR state.

Change-Id: I102ed6ba3fff2c12cc6d37f81ad59508eacc859c
Co-Authored-By: Hieu LE <hieulq2@viettel.com.vn>
---
 ansible/roles/octavia/templates/octavia.conf.j2 | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/ansible/roles/octavia/templates/octavia.conf.j2 b/ansible/roles/octavia/templates/octavia.conf.j2
index da03227ada..aeeef6e7d3 100644
--- a/ansible/roles/octavia/templates/octavia.conf.j2
+++ b/ansible/roles/octavia/templates/octavia.conf.j2
@@ -52,8 +52,8 @@ memcached_servers = {% for host in groups['memcached'] %}{{ hostvars[host]['ansi
 [health_manager]
 bind_port = {{ octavia_health_manager_port }}
 bind_ip = {{ octavia_network_interface_address }}
-controller_ip_port_list = {{ octavia_network_interface_address }}:{{ octavia_health_manager_port }}
-heartbeat_key =insecure
+heartbeat_key = insecure
+controller_ip_port_list = {% for host in groups['octavia-health-manager'] %}{{ hostvars[host]['ansible_' + hostvars[host]['octavia_network_interface']]['ipv4']['address'] }}:{{ octavia_health_manager_port }}{% if not loop.last %},{% endif %}{% endfor %}
 
 [controller_worker]
 amp_boot_network_list = {{ octavia_amp_boot_network_list }}