Add support for existing bridges in data-port config

Bug #1761835 reported by Michael Skalka on 2018-04-06
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack neutron-gateway charm
Michael Skalka

Bug Description

Currently the data port option does not allow support for existing bridges. With the current behavior NG will add the supplied bridge to OVS without checking if it is used or not, which results in a loss of network connectivity unexpectedly. This behavior is undesirable in circumstances where there are a limited number of physical interfaces available.

This can be worked around by instead adding a veth pair using an existing bridge and the desired OVS bridge and adding the veth-<existing-bridge> as the OVS bridge port.

For example, using the data-port config "br-data:br-bond0" where br-bond0 exists on the NG node would result in the following OVS configuration:

    Bridge br-data
        Controller "tcp:"
            is_connected: true
        fail_mode: secure
        Port br-data
            Interface br-data
                type: internal
        Port "veth-br-bond0"
            Interface "veth-br-bond0"
        Port phy-br-data
            Interface phy-br-data
                type: patch
                options: {peer=int-br-data}

The OVS charm already supports this functionality through charmhelpers/contrib/networking/ovs/__init__.add_ovsbridge_linuxbridge(). NG should make a similar check in neutron_utils.configure_ovs() and leverage this code to add a veth pair.

Michael Skalka (mskalka) on 2018-04-06
Changed in charm-neutron-gateway:
assignee: nobody → Michael Skalka (mskalka)
tags: added: cpe-onsite
Michael Skalka (mskalka) wrote :

This was previously addressed in however the implementation was never carried over to the NG charm. Additionally the fix has since broken, as reported in

Frode Nordahl (fnordahl) on 2018-04-10
Changed in charm-neutron-gateway:
status: New → In Progress
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers