← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1975658] [NEW] [ovn]list_availability_zones is occasionally empty at large scale

 

Public bug reported:

Sometimes, we found that list az is empty at large scale environment.
Maybe it is a matter about ovsdbapp. But it would cause l3 re-schedule to wrong candidates if az list is empty when ovsdb_monitor process ChassisEvent. 
 
I have a workaround[1] to fix the matter that l3 re-schedule.

[1]At func _get_availability_zones_from_router_port:
no need to get az list use ml2/ovn mech_driver when schedule gw, only get from external_ids of router: 

    def _get_availability_zones_from_router_port(self, lrp_name):
        """Return the availability zones hints for the router port.

        Return a list of availability zones hints associated with the
        router that the router port belongs to.
        """
        context = n_context.get_admin_context()
        lrp = self._ovn.get_lrouter_port(lrp_name)
        router = self.get_router(
            context, lrp.external_ids[ovn_const.OVN_ROUTER_NAME_EXT_ID_KEY])
        az_hints = utils.get_az_hints(router)
        return az_hints

** Affects: neutron
     Importance: Undecided
         Status: New


** Tags: ovn

** Tags added: ovn

** Summary changed:

- [ovn]ist_availability_zones is occasionally empty at large scale 
+ [ovn]list_availability_zones is occasionally empty at large scale

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

Title:
  [ovn]list_availability_zones is occasionally empty at large scale

Status in neutron:
  New

Bug description:
  Sometimes, we found that list az is empty at large scale environment.
  Maybe it is a matter about ovsdbapp. But it would cause l3 re-schedule to wrong candidates if az list is empty when ovsdb_monitor process ChassisEvent. 
   
  I have a workaround[1] to fix the matter that l3 re-schedule.

  [1]At func _get_availability_zones_from_router_port:
  no need to get az list use ml2/ovn mech_driver when schedule gw, only get from external_ids of router: 

      def _get_availability_zones_from_router_port(self, lrp_name):
          """Return the availability zones hints for the router port.

          Return a list of availability zones hints associated with the
          router that the router port belongs to.
          """
          context = n_context.get_admin_context()
          lrp = self._ovn.get_lrouter_port(lrp_name)
          router = self.get_router(
              context, lrp.external_ids[ovn_const.OVN_ROUTER_NAME_EXT_ID_KEY])
          az_hints = utils.get_az_hints(router)
          return az_hints

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



Follow ups