From 6d51ef5d2e275d0d260a592d3ab8ed8a76a63421 Mon Sep 17 00:00:00 2001 From: Oleg Bondarev Date: Thu, 3 Sep 2015 16:31:33 +0300 Subject: [PATCH] OVS agent: handle deleted ports on each rpc_loop iteration Currently rpc loop processes ports only in case polling is required (message from ovsdb monitor) or there are port_updated notifications from server or security group notifications. In case of just port_deleted notifications port processing is not triggered during rpc loop. This may lead to agent accumulating a big amount of deleted ports and processing all of them at once during next iteration when polling is required or any notification from server, which might be quite tough for the agent. Tough means agent will be irresponsive while processing deleted ports. The patch makes port deletion processing more gradual. Closes-Bug: #1491922 Change-Id: I0e1f6dfbf5b56fb18a978d6214e1768560d8ac98 --- .../plugins/ml2/drivers/openvswitch/agent/ovs_neutron_agent.py | 1 + 1 file changed, 1 insertion(+) diff --git a/neutron/plugins/ml2/drivers/openvswitch/agent/ovs_neutron_agent.py b/neutron/plugins/ml2/drivers/openvswitch/agent/ovs_neutron_agent.py index 11ff150bb..26771f449 100644 --- a/neutron/plugins/ml2/drivers/openvswitch/agent/ovs_neutron_agent.py +++ b/neutron/plugins/ml2/drivers/openvswitch/agent/ovs_neutron_agent.py @@ -1550,6 +1550,7 @@ class OVSNeutronAgent(sg_rpc.SecurityGroupAgentRpcCallbackMixin, def _agent_has_updates(self, polling_manager): return (polling_manager.is_polling_required or self.updated_ports or + self.deleted_ports or self.sg_agent.firewall_refresh_needed()) def _port_info_has_changes(self, port_info): -- 2.45.2