From: Oleg Bondarev Date: Thu, 3 Sep 2015 13:31:33 +0000 (+0300) Subject: OVS agent: handle deleted ports on each rpc_loop iteration X-Git-Url: https://review.fuel-infra.org/gitweb?a=commitdiff_plain;h=6d51ef5d2e275d0d260a592d3ab8ed8a76a63421;p=openstack-build%2Fneutron-build.git 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 --- 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):