← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1470612] [NEW] neutron-dhcp-agent does not recover known ports cache after restart

 

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


Follow ups

References