[openstack-dev] [Neutron] Issue with neutron-dhcp-agent not recovering known ports cache after restart

Shraddha Pandhe spandhe.openstack at gmail.com
Wed Jul 1 18:03:51 UTC 2015


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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20150701/d641ddb6/attachment.html>


More information about the OpenStack-dev mailing list