From 2eeca32dae0b6a04b8fbcb08e5c3cc32cffdad8a Mon Sep 17 00:00:00 2001
From: Eduardo Gonzalez <dabarren@gmail.com>
Date: Fri, 5 May 2017 15:56:51 +0200
Subject: [PATCH] Fix neutron-openvswitch-agent crash on multinode

neutron-openvswitch-agent enter in restarting status in multinode
deployments because br-ex is no longer created on compute nodes
unless DVR is enabled.

This change add a conditional to only add bridge_mappings when
the node is in network or in compute when dvr is enabled.

Change-Id: I9d49158127af7fd78ecbc3d64a7509d1e4ae5672
Closes-Bug: #1688571
---
 ansible/roles/neutron/templates/ml2_conf.ini.j2 | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/ansible/roles/neutron/templates/ml2_conf.ini.j2 b/ansible/roles/neutron/templates/ml2_conf.ini.j2
index e88d963e6f..b18e822a6e 100644
--- a/ansible/roles/neutron/templates/ml2_conf.ini.j2
+++ b/ansible/roles/neutron/templates/ml2_conf.ini.j2
@@ -59,7 +59,9 @@ extensions = qos
 {% endif %}
 
 [ovs]
+{% if inventory_hostname in groups["network"] or (inventory_hostname in groups["compute"] and enable_neutron_dvr | bool) %}
 bridge_mappings = {% for bridge in neutron_bridge_name.split(',') %}physnet{{ loop.index0 + 1 }}:{{ bridge }}{% if not loop.last %},{% endif %}{% endfor %}
+{% endif %}
 
 ovsdb_connection = tcp:{{ api_interface_address }}:6640
 {% if enable_nova_fake | bool %}