← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1976345] [NEW] The sync_routers interface takes too long

 

Public bug reported:

ENV: stable/victoria

In a large scale cloud deployment, when restart neutron l3-agent,
neutron server side the _routers_to_sync interface is called twice. And
this will cause the agent restart time to be too long to operate.

<_routers_to_sync> Elapsed:32.242
<_routers_to_sync> Elapsed:52.720s
<sync_routers> Elapsed:85.427s

https://github.com/openstack/neutron/blob/master/neutron/api/rpc/handlers/l3_rpc.py
#128

Can it be changed to:

        if extensions.is_extension_supported(
                self.plugin, constants.PORT_BINDING_EXT_ALIAS):
            self._ensure_host_set_on_ports(context, host, routers)
            # refresh the data structure after ports are bound
            routers = self._routers_to_sync(context, router_ids, host)
        else:
            routers = self._routers_to_sync(context, router_ids, host)

** Affects: neutron
     Importance: Undecided
         Status: New

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

Title:
  The sync_routers  interface takes too long

Status in neutron:
  New

Bug description:
  ENV: stable/victoria

  In a large scale cloud deployment, when restart neutron l3-agent,
  neutron server side the _routers_to_sync interface is called twice.
  And this will cause the agent restart time to be too long to operate.

  <_routers_to_sync> Elapsed:32.242
  <_routers_to_sync> Elapsed:52.720s
  <sync_routers> Elapsed:85.427s

  https://github.com/openstack/neutron/blob/master/neutron/api/rpc/handlers/l3_rpc.py
  #128

  Can it be changed to:

          if extensions.is_extension_supported(
                  self.plugin, constants.PORT_BINDING_EXT_ALIAS):
              self._ensure_host_set_on_ports(context, host, routers)
              # refresh the data structure after ports are bound
              routers = self._routers_to_sync(context, router_ids, host)
          else:
              routers = self._routers_to_sync(context, router_ids, host)

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