From 71a6611a84e85385bdfeb408cf13281377a6a7c2 Mon Sep 17 00:00:00 2001
From: Jianghua Wang <jianghua.wang@citrix.com>
Date: Fri, 19 Jan 2018 09:36:34 +0000
Subject: [PATCH] XenAPI: support provider networks

When enabled provider networks; the neutron-openvswith-agent-xenapi
should use proper bridge_mappings which should have dom0's bridges
where the VMs' vifs actually connected to for the interfaces defined
in the configure option of *neutron_external_interface*.

Depends-On: I9a6bebe19ed488bb2173d5dc2daa14e236411243
Change-Id: I44f59c69d25b8400e1b936fcdf8f21b5c4168f1f
---
 ansible/roles/neutron/templates/ml2_conf_xenapi.ini.j2 | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/ansible/roles/neutron/templates/ml2_conf_xenapi.ini.j2 b/ansible/roles/neutron/templates/ml2_conf_xenapi.ini.j2
index 423b163b5c..6d7558aa97 100644
--- a/ansible/roles/neutron/templates/ml2_conf_xenapi.ini.j2
+++ b/ansible/roles/neutron/templates/ml2_conf_xenapi.ini.j2
@@ -12,6 +12,11 @@ root_helper =
 [ovs]
 of_listen_address = {{ hostvars[inventory_hostname]['ansible_' + os_xenapi_variables.domu_himn_eth]["ipv4"]["address"] }}
 ovsdb_connection = tcp:{{ xenserver_himn_ip }}:{{ ovsdb_port }}
+{% if computes_need_external_bridge %}
+bridge_mappings = {% for interface in neutron_external_interface.split(',') %}physnet{{ loop.index0 + 1 }}:{{ os_xenapi_variables.domu_vifs[interface]["bridge"] }}{% if not loop.last %},{% endif %}{% endfor %}
+{% else %}
+bridge_mappings =
+{% endif %}
 
 [xenapi]
 connection_password = {{ xenserver_password }}
-- 
GitLab