diff --git a/ansible/roles/neutron/templates/linuxbridge_agent.ini.j2 b/ansible/roles/neutron/templates/linuxbridge_agent.ini.j2 index f33a133b08780b077e078f7616b7a429d36217c0..1dbaae0ede8ec46dc9ba213bb7d2516e699abca2 100644 --- a/ansible/roles/neutron/templates/linuxbridge_agent.ini.j2 +++ b/ansible/roles/neutron/templates/linuxbridge_agent.ini.j2 @@ -4,7 +4,9 @@ extensions = {{ neutron_agent_extensions|map(attribute='name')|join(',') }} {% endif %} [linux_bridge] -physical_interface_mappings = physnet1:{{ neutron_external_interface }} +{% if inventory_hostname in groups["network"] or (inventory_hostname in groups["compute"] and computes_need_external_bridge | bool ) %} +physical_interface_mappings = {% for interface in neutron_external_interface.split(',') %}physnet{{ loop.index0 + 1 }}:{{ interface }}{% if not loop.last %},{% endif %}{% endfor %} +{% endif %} [securitygroup] firewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver diff --git a/ansible/roles/neutron/templates/ml2_conf.ini.j2 b/ansible/roles/neutron/templates/ml2_conf.ini.j2 index 2e1cb8096aa1c651c1be5936ea41f753d15266df..e55423e33c725e6ab09811d657eb48543bf0062b 100644 --- a/ansible/roles/neutron/templates/ml2_conf.ini.j2 +++ b/ansible/roles/neutron/templates/ml2_conf.ini.j2 @@ -24,7 +24,7 @@ network_vlan_ranges = {% if enable_ironic | bool %} flat_networks = * {% else %} -flat_networks = {% for bridge in neutron_bridge_name.split(',') %}physnet{{ loop.index0 + 1 }}{% if not loop.last %},{% endif %}{% endfor %} +flat_networks = {% for interface in neutron_external_interface.split(',') %}physnet{{ loop.index0 + 1 }}{% if not loop.last %},{% endif %}{% endfor %} {% endif %} [ml2_type_vxlan] diff --git a/releasenotes/notes/linux-bridge-multi-fe8576616fb7d373.yaml b/releasenotes/notes/linux-bridge-multi-fe8576616fb7d373.yaml new file mode 100644 index 0000000000000000000000000000000000000000..91626720d635ef0239fb70d5b92a82d7959c8581 --- /dev/null +++ b/releasenotes/notes/linux-bridge-multi-fe8576616fb7d373.yaml @@ -0,0 +1,6 @@ +--- +fixes: + - | + Fixes an issue with Neutron ``linuxbridge`` ML2 agent when + ``neutron_external_interface`` includes multiple interfaces. `LP#1863935 + <https://launchpad.net/bugs/1863935>`__