Hi Shihan, I think the problem is slightly different. Does your patch take care of the scenario where a port was deleted AFTER agent restart (not when agent was down)?
My problem is that, when the agent restarts, it loses its previous network cache. As soon as the agent starts, as part of "__init__", it rebuilds that cache [1]. But it does not put the ports in there [2]. In sync_state, Neutron tries to enable/disable networks, by checking the diff between Neutron's state and its own network cache that it just built [3]. It enables any NEW networks and disables any DELETED networks, but it does nothing to PREVIOUSLY KNOWN NETWORKS. So those subnets and ports remain empty lists. Now, if such a port is deleted, [4] will return None and the port will never get deleted from the config. [1] https://github.com/openstack/neutron/blob/master/neutron/agent/dhcp/agent.py#L68 [2] https://github.com/openstack/neutron/blob/master/neutron/agent/dhcp/agent.py#L79-L86 [3] https://github.com/openstack/neutron/blob/master/neutron/agent/dhcp/agent.py#L154-L171 [4] https://github.com/openstack/neutron/blob/master/neutron/agent/dhcp/agent.py#L349
__________________________________________________________________________ OpenStack Development Mailing List (not for usage questions) Unsubscribe: [email protected]?subject:unsubscribe http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
