From 3bc9adf9b2756a96ac549cbd6c1edb57f75a019d Mon Sep 17 00:00:00 2001
From: Sam Yaple <sam@yaple.net>
Date: Sun, 26 Jul 2015 11:19:40 +0000
Subject: [PATCH] Forces metadata to bind to single interface

Also adds haproxy config for metadata.

Change-Id: I65c1ae5f491d66bf4dccaa38a9a2ad4026c1f72e
Closes-Bug: #1478333
---
 ansible/roles/haproxy/templates/haproxy.cfg.j2 | 7 +++++++
 ansible/roles/nova/templates/nova.conf.j2      | 4 +++-
 2 files changed, 10 insertions(+), 1 deletion(-)

diff --git a/ansible/roles/haproxy/templates/haproxy.cfg.j2 b/ansible/roles/haproxy/templates/haproxy.cfg.j2
index 07fe7aacf4..bcb1be6744 100755
--- a/ansible/roles/haproxy/templates/haproxy.cfg.j2
+++ b/ansible/roles/haproxy/templates/haproxy.cfg.j2
@@ -66,6 +66,13 @@ listen nova_api
   server {{ hostvars[host]['ansible_hostname'] }} {{ hostvars[host]['ansible_' + api_interface]['ipv4']['address'] }}:{{ nova_api_port }} check inter 2000 rise 2 fall 5
 {% endfor %}
 
+listen nova_metadata
+  # TODO(SamYaple): Make metadata port configurable throughout Ansible
+  bind {{ kolla_internal_address }}:8775
+{% for host in groups['nova-api'] %}
+  server {{ hostvars[host]['ansible_hostname'] }} {{ hostvars[host]['ansible_' + api_interface]['ipv4']['address'] }}:8775 check inter 2000 rise 2 fall 5
+{% endfor %}
+
 listen neutron_server
   bind {{ kolla_internal_address }}:{{ neutron_server_port }}
 {% for host in groups['neutron-server'] %}
diff --git a/ansible/roles/nova/templates/nova.conf.j2 b/ansible/roles/nova/templates/nova.conf.j2
index b44168837e..6c62eacd83 100644
--- a/ansible/roles/nova/templates/nova.conf.j2
+++ b/ansible/roles/nova/templates/nova.conf.j2
@@ -20,8 +20,10 @@ linuxnet_interface_driver = nova.network.linux_net.LinuxOVSInterfaceDriver
 compute_driver = libvirt.LibvirtDriver
 allow_resize_to_same_host = true
 
-vnc_enabled = true
 my_ip = {{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}
+metadata_listen = {{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}
+
+vnc_enabled = true
 vncserver_listen = {{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}
 vncserver_proxyclient_address = {{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}
 novncproxy_base_url = http://{{ kolla_internal_address }}:6080/vnc_auto.html
-- 
GitLab