← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1428007] Re: dnsmasq fail to start when not using namespace

 

** Changed in: neutron
       Status: Fix Committed => Fix Released

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

Title:
  dnsmasq fail to start when not using namespace

Status in OpenStack Neutron (virtual network service):
  Fix Released

Bug description:
  My openstack neutron don't use namespace. After getting the patch
  https://review.openstack.org/#/c/145829/, my dhcp-agent can't start up
  dnsmasq,  the log reports

  2015-03-04 00:46:27.081 23165 ERROR neutron.agent.dhcp.agent [-] Unable to enable dhcp for 0c4bcc8a-ed67-4782-8db5-af62318cd6bc.
  2015-03-04 00:46:27.081 23165 TRACE neutron.agent.dhcp.agent Traceback (most recent call last):
  2015-03-04 00:46:27.081 23165 TRACE neutron.agent.dhcp.agent   File "/usr/lib/python2.7/site-packages/neutron/agent/dhcp/agent.py", line 112, in call_driver
  2015-03-04 00:46:27.081 23165 TRACE neutron.agent.dhcp.agent     getattr(driver, action)(**action_kwargs)
  2015-03-04 00:46:27.081 23165 TRACE neutron.agent.dhcp.agent   File "/usr/lib/python2.7/site-packages/neutron/agent/linux/dhcp.py", line 207, in enable
  2015-03-04 00:46:27.081 23165 TRACE neutron.agent.dhcp.agent     self.spawn_process()
  2015-03-04 00:46:27.081 23165 TRACE neutron.agent.dhcp.agent   File "/usr/lib/python2.7/site-packages/neutron/agent/linux/dhcp.py", line 375, in spawn_process
  2015-03-04 00:46:27.081 23165 TRACE neutron.agent.dhcp.agent     self._spawn_or_reload_process(reload_with_HUP=False)
  2015-03-04 00:46:27.081 23165 TRACE neutron.agent.dhcp.agent   File "/usr/lib/python2.7/site-packages/neutron/agent/linux/dhcp.py", line 394, in _spawn_or_reload_process
  2015-03-04 00:46:27.081 23165 TRACE neutron.agent.dhcp.agent     pid_file=pid_filename)
  2015-03-04 00:46:27.081 23165 TRACE neutron.agent.dhcp.agent   File "/usr/lib/python2.7/site-packages/neutron/agent/linux/external_process.py", line 179, in enable
  2015-03-04 00:46:27.081 23165 TRACE neutron.agent.dhcp.agent     process_manager.enable(reload_cfg=reload_cfg)
  2015-03-04 00:46:27.081 23165 TRACE neutron.agent.dhcp.agent   File "/usr/lib/python2.7/site-packages/neutron/agent/linux/external_process.py", line 76, in enable
  2015-03-04 00:46:27.081 23165 TRACE neutron.agent.dhcp.agent     ip_wrapper.netns.execute(cmd, addl_env=self.cmd_addl_env)
  2015-03-04 00:46:27.081 23165 TRACE neutron.agent.dhcp.agent   File "/usr/lib/python2.7/site-packages/neutron/agent/linux/ip_lib.py", line 554, in execute
  2015-03-04 00:46:27.081 23165 TRACE neutron.agent.dhcp.agent     return utils.execute(cmd, check_exit_code=check_exit_code,
  2015-03-04 00:46:27.081 23165 TRACE neutron.agent.dhcp.agent   File "/usr/lib/python2.7/site-packages/neutron/agent/linux/utils.py", line 89, in execute
  2015-03-04 00:46:27.081 23165 TRACE neutron.agent.dhcp.agent     # NOTE(termie): this appears to be necessary to let the subprocess
  2015-03-04 00:46:27.081 23165 TRACE neutron.agent.dhcp.agent RuntimeError:
  2015-03-04 00:46:27.081 23165 TRACE neutron.agent.dhcp.agent Command: ['dnsmasq', '--no-hosts', '--no
  -resolv', '--strict-order', '--bind-interfaces', '--interface=tap8dd394fb-8b', '--except-interface=lo
  ', '--pid-file=/var/lib/neutron/dhcp/0c4bcc8a-ed67-4782-8db5-af62318cd6bc/pid', '--dhcp-hostsfile=/va
  r/lib/neutron/dhcp/0c4bcc8a-ed67-4782-8db5-af62318cd6bc/host', '--addn-hosts=/var/lib/neutron/dhcp/0c
  4bcc8a-ed67-4782-8db5-af62318cd6bc/addn_hosts', '--dhcp-optsfile=/var/lib/neutron/dhcp/0c4bcc8a-ed67-
  4782-8db5-af62318cd6bc/opts', '--leasefile-ro', '--dhcp-authoritative', '--dhcp-range=set:tag0,10.0.1
  .0,static,86400s', '--dhcp-lease-max=256', '--conf-file=', '--domain=openstacklocal']

  Although the "root_helper" has been moved, dnsmasq still needs root
  privilege to start.

  In https://review.openstack.org/#/c/145829/22/neutron/agent/linux/ip_lib.py
  The old code will pass root_helper through class IPWrapper, so the command is always run by root privilege. 
  The new code, however, just set run_as_root=True when namespace is used.

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


References