File 0001-Async-notify-neutron-server-for-HA-states.patch of Package openstack-neutron
Index: neutron-9.4.2.dev21/neutron/agent/l3/agent.py
===================================================================
--- neutron-9.4.2.dev21.orig/neutron/agent/l3/agent.py
+++ neutron-9.4.2.dev21/neutron/agent/l3/agent.py
@@ -149,7 +149,7 @@ class L3PluginApi(object):
def update_ha_routers_states(self, context, states):
"""Update HA routers states."""
cctxt = self.client.prepare(version='1.5')
- return cctxt.call(context, 'update_ha_routers_states',
+ return cctxt.cast(context, 'update_ha_routers_states',
host=self.host, states=states)
def process_prefix_update(self, context, prefix_update):
Index: neutron-9.4.2.dev21/neutron/agent/l3/ha.py
===================================================================
--- neutron-9.4.2.dev21.orig/neutron/agent/l3/ha.py
+++ neutron-9.4.2.dev21/neutron/agent/l3/ha.py
@@ -209,6 +209,9 @@ class AgentMixin(object):
ri.disable_radvd()
def notify_server(self, batched_events):
+ eventlet.spawn_n(self._notify_server, batched_events)
+
+ def _notify_server(self, batched_events):
translated_states = dict((router_id, TRANSLATION_MAP[state]) for
router_id, state in batched_events)
LOG.debug('Updating server with HA routers states %s',