← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1416181] [NEW] 'router_gateway' port status is always DOWN

 

Public bug reported:

If br-ex does not set 'bridge-id', the 'router_gateway' status will be
always DOWN, the reason is that:

    def setup_ancillary_bridges(self, integ_br, tun_br):
        '''Setup ancillary bridges - for example br-ex.'''
        ovs = ovs_lib.BaseOVS(self.root_helper)
        ovs_bridges = set(ovs.get_bridges())
        # Remove all known bridges
        ovs_bridges.remove(integ_br)
        if self.enable_tunneling:
            ovs_bridges.remove(tun_br)
        br_names = [self.phys_brs[physical_network].br_name for
                    physical_network in self.phys_brs]
        ovs_bridges.difference_update(br_names)
        # Filter list of bridges to those that have external
        # bridge-id's configured
        br_names = []
        for bridge in ovs_bridges:
            bridge_id = ovs.get_bridge_external_bridge_id(bridge)
            if bridge_id != bridge:
                br_names.append(bridge)

if br-ex does not set 'bridge-id', ovs agent will not add it to
ancillary_bridges, so I think if br-ex does not set 'bridge-id', it just
report a warning message is ok!

** Affects: neutron
     Importance: Undecided
     Assignee: shihanzhang (shihanzhang)
         Status: New

** Changed in: neutron
     Assignee: (unassigned) => shihanzhang (shihanzhang)

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/1416181

Title:
  'router_gateway' port status is always DOWN

Status in OpenStack Neutron (virtual network service):
  New

Bug description:
  If br-ex does not set 'bridge-id', the 'router_gateway' status will be
  always DOWN, the reason is that:

      def setup_ancillary_bridges(self, integ_br, tun_br):
          '''Setup ancillary bridges - for example br-ex.'''
          ovs = ovs_lib.BaseOVS(self.root_helper)
          ovs_bridges = set(ovs.get_bridges())
          # Remove all known bridges
          ovs_bridges.remove(integ_br)
          if self.enable_tunneling:
              ovs_bridges.remove(tun_br)
          br_names = [self.phys_brs[physical_network].br_name for
                      physical_network in self.phys_brs]
          ovs_bridges.difference_update(br_names)
          # Filter list of bridges to those that have external
          # bridge-id's configured
          br_names = []
          for bridge in ovs_bridges:
              bridge_id = ovs.get_bridge_external_bridge_id(bridge)
              if bridge_id != bridge:
                  br_names.append(bridge)

  if br-ex does not set 'bridge-id', ovs agent will not add it to
  ancillary_bridges, so I think if br-ex does not set 'bridge-id', it
  just report a warning message is ok!

To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1416181/+subscriptions


Follow ups

References