← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1437085] [NEW] race between dhcp proc spawn and port update processing

 

Public bug reported:

If a network is created and ports are immediately created on it very
rapidly, we get traces like the following in the agent log:

2015-03-26 23:03:44.863 10395 ERROR neutron.agent.dhcp_agent [-] Unable to reload_allocations dhcp for 9d6666ef-ddb1-46c2-8476-f4b4529d44f3.
2015-03-26 23:03:44.863 10395 TRACE neutron.agent.dhcp_agent Traceback (most recent call last):
2015-03-26 23:03:44.863 10395 TRACE neutron.agent.dhcp_agent   File "/usr/lib/python2.6/site-packages/neutron/agent/dhcp_agent.py", line 128, in call_driver
2015-03-26 23:03:44.863 10395 TRACE neutron.agent.dhcp_agent     getattr(driver, action)(**action_kwargs)
2015-03-26 23:03:44.863 10395 TRACE neutron.agent.dhcp_agent   File "/usr/lib/python2.6/site-packages/neutron/agent/linux/dhcp.py", line 392, in reload_allocations
2015-03-26 23:03:44.863 10395 TRACE neutron.agent.dhcp_agent     self._output_hosts_file()
2015-03-26 23:03:44.863 10395 TRACE neutron.agent.dhcp_agent   File "/usr/lib/python2.6/site-packages/neutron/agent/linux/dhcp.py", line 424, in _output_hosts_file
2015-03-26 23:03:44.863 10395 TRACE neutron.agent.dhcp_agent     utils.replace_file(name, buf.getvalue())
2015-03-26 23:03:44.863 10395 TRACE neutron.agent.dhcp_agent   File "/usr/lib/python2.6/site-packages/neutron/agent/linux/utils.py", line 106, in replace_file
2015-03-26 23:03:44.863 10395 TRACE neutron.agent.dhcp_agent     tmp_file = tempfile.NamedTemporaryFile('w+', dir=base_dir, delete=False)
2015-03-26 23:03:44.863 10395 TRACE neutron.agent.dhcp_agent   File "/usr/lib64/python2.6/tempfile.py", line 444, in NamedTemporaryFile
2015-03-26 23:03:44.863 10395 TRACE neutron.agent.dhcp_agent     (fd, name) = _mkstemp_inner(dir, prefix, suffix, flags)
2015-03-26 23:03:44.863 10395 TRACE neutron.agent.dhcp_agent   File "/usr/lib64/python2.6/tempfile.py", line 228, in _mkstemp_inner
2015-03-26 23:03:44.863 10395 TRACE neutron.agent.dhcp_agent     fd = _os.open(file, flags, 0600)
2015-03-26 23:03:44.863 10395 TRACE neutron.agent.dhcp_agent OSError: [Errno 2] No such file or directory: '/var/lib/neutron/dhcp/9d6666ef-ddb1-46c2-8476-f4b4529d44f3/tmpGKnikM'

** Affects: neutron
     Importance: Undecided
     Assignee: Kevin Benton (kevinbenton)
         Status: New

** Changed in: neutron
     Assignee: (unassigned) => Kevin Benton (kevinbenton)

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/1437085

Title:
  race between dhcp proc spawn and port update processing

Status in OpenStack Neutron (virtual network service):
  New

Bug description:
  If a network is created and ports are immediately created on it very
  rapidly, we get traces like the following in the agent log:

  2015-03-26 23:03:44.863 10395 ERROR neutron.agent.dhcp_agent [-] Unable to reload_allocations dhcp for 9d6666ef-ddb1-46c2-8476-f4b4529d44f3.
  2015-03-26 23:03:44.863 10395 TRACE neutron.agent.dhcp_agent Traceback (most recent call last):
  2015-03-26 23:03:44.863 10395 TRACE neutron.agent.dhcp_agent   File "/usr/lib/python2.6/site-packages/neutron/agent/dhcp_agent.py", line 128, in call_driver
  2015-03-26 23:03:44.863 10395 TRACE neutron.agent.dhcp_agent     getattr(driver, action)(**action_kwargs)
  2015-03-26 23:03:44.863 10395 TRACE neutron.agent.dhcp_agent   File "/usr/lib/python2.6/site-packages/neutron/agent/linux/dhcp.py", line 392, in reload_allocations
  2015-03-26 23:03:44.863 10395 TRACE neutron.agent.dhcp_agent     self._output_hosts_file()
  2015-03-26 23:03:44.863 10395 TRACE neutron.agent.dhcp_agent   File "/usr/lib/python2.6/site-packages/neutron/agent/linux/dhcp.py", line 424, in _output_hosts_file
  2015-03-26 23:03:44.863 10395 TRACE neutron.agent.dhcp_agent     utils.replace_file(name, buf.getvalue())
  2015-03-26 23:03:44.863 10395 TRACE neutron.agent.dhcp_agent   File "/usr/lib/python2.6/site-packages/neutron/agent/linux/utils.py", line 106, in replace_file
  2015-03-26 23:03:44.863 10395 TRACE neutron.agent.dhcp_agent     tmp_file = tempfile.NamedTemporaryFile('w+', dir=base_dir, delete=False)
  2015-03-26 23:03:44.863 10395 TRACE neutron.agent.dhcp_agent   File "/usr/lib64/python2.6/tempfile.py", line 444, in NamedTemporaryFile
  2015-03-26 23:03:44.863 10395 TRACE neutron.agent.dhcp_agent     (fd, name) = _mkstemp_inner(dir, prefix, suffix, flags)
  2015-03-26 23:03:44.863 10395 TRACE neutron.agent.dhcp_agent   File "/usr/lib64/python2.6/tempfile.py", line 228, in _mkstemp_inner
  2015-03-26 23:03:44.863 10395 TRACE neutron.agent.dhcp_agent     fd = _os.open(file, flags, 0600)
  2015-03-26 23:03:44.863 10395 TRACE neutron.agent.dhcp_agent OSError: [Errno 2] No such file or directory: '/var/lib/neutron/dhcp/9d6666ef-ddb1-46c2-8476-f4b4529d44f3/tmpGKnikM'

To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1437085/+subscriptions


Follow ups

References