Public bug reported: 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. Filing this bug based on my conversation with Kevin Benton on IRC [5] [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 [5] http://eavesdrop.openstack.org/irclogs/%23openstack-neutron/%23openstack-neutron.2015-07-01.log.html ** Affects: neutron Importance: Undecided Status: New -- You received this bug notification because you are a member of Yahoo! Engineering Team, which is subscribed to neutron. https://bugs.launchpad.net/bugs/1470612 Title: neutron-dhcp-agent does not recover known ports cache after restart Status in OpenStack Neutron (virtual network service): New Bug description: 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. Filing this bug based on my conversation with Kevin Benton on IRC [5] [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 [5] http://eavesdrop.openstack.org/irclogs/%23openstack-neutron/%23openstack-neutron.2015-07-01.log.html To manage notifications about this bug go to: https://bugs.launchpad.net/neutron/+bug/1470612/+subscriptions -- Mailing list: https://launchpad.net/~yahoo-eng-team Post to : [email protected] Unsubscribe : https://launchpad.net/~yahoo-eng-team More help : https://help.launchpad.net/ListHelp

