if /etc/nova/nova.conf includes the line:
dhcp_domain = ""
Then nova-network crashes, because --dhcp-domain= is not a valid argument to pass to dnsmasq. The following is seen in the logs under this circumstance:
2013-03-27 11:49:26 DEBUG [nova.utils] Running cmd (subprocess): sudo nova-rootwrap /etc/nova/rootwrap.conf env CONFIG_FILE=["/etc/nova/nova.conf"] NETWORK_ID=1 dnsmasq --strict-order --bind-interfaces --conf-file= --domain= --pid-file=/opt/stack/grizzly/data/nova/networks/nova-br100.pid --listen-address=10.4.128.1 --except-interface=lo --dhcp-range=set:private,10.4.128.2,static,120s --dhcp-lease-max=4096 --dhcp-hostsfile=/opt/stack/grizzly/data/nova/networks/nova-br100.conf --dhcp-script=/opt/stack/grizzly/nova/bin/nova-dhcpbridge --leasefile-ro
2013-03-27 11:49:27 DEBUG [nova.utils] Result was 1
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/eventlet/hubs/hub.py", line 346, in fire_timers
timer()
File "/usr/local/lib/python2.7/dist-packages/eventlet/hubs/timer.py", line 56, in __call__
cb(*args, **kw)
File "/usr/local/lib/python2.7/dist-packages/eventlet/greenthread.py", line 194, in main
result = function(*args, **kwargs)
File "/opt/stack/grizzly/nova/nova/service.py", line 147, in run_server
server.start()
File "/opt/stack/grizzly/nova/nova/service.py", line 429, in start
self.manager.init_host()
File "/opt/stack/grizzly/nova/nova/network/manager.py", line 1604, in init_host
super(FlatDHCPManager, self).init_host()
File "/opt/stack/grizzly/nova/nova/network/manager.py", line 346, in init_host
self._setup_network_on_host(ctxt, network)
File "/opt/stack/grizzly/nova/nova/network/manager.py", line 1619, in _setup_network_on_host
self.driver.update_dhcp(elevated, dev, network)
File "/opt/stack/grizzly/nova/nova/network/linux_net.py", line 938, in update_dhcp
_execute(*cmd, run_as_root=True)
File "/opt/stack/grizzly/nova/nova/network/linux_net.py", line 1141, in _execute
return utils.execute(*cmd, **kwargs)
File "/opt/stack/grizzly/nova/nova/utils.py", line 239, in execute
cmd=' '.join(cmd))
ProcessExecutionError: Unexpected error while running command.
Command: sudo nova-rootwrap /etc/nova/rootwrap.conf env CONFIG_FILE=["/etc/nova/nova.conf"] NETWORK_ID=1 dnsmasq --strict-order --bind-interfaces --conf-file= --domain= --pid-file=/opt/stack/grizzly/data/nova/networks/nova-br100.pid --listen-address=10.4.128.1 --except-interface=lo --dhcp-range=set:private,10.4.128.2,static,120s --dhcp-lease-max=4096 --dhcp-hostsfile=/opt/stack/grizzly/data/nova/networks/nova-br100.conf --dhcp-script=/opt/stack/grizzly/nova/bin/nova-dhcpbridge --leasefile-ro
Exit code: 1
Stdout: ''
Stderr: '\ndnsmasq: bad command line options: try --help\n'
2013-03-27 11:49:27 CRITICAL [nova] Unexpected error while running command.
Command: sudo nova-rootwrap /etc/nova/rootwrap.conf env CONFIG_FILE=["/etc/nova/nova.conf"] NETWORK_ID=1 dnsmasq --strict-order --bind-interfaces --conf-file= --domain= --pid-file=/opt/stack/grizzly/data/nova/networks/nova-br100.pid --listen-address=10.4.128.1 --except-interface=lo --dhcp-range=set:private,10.4.128.2,static,120s --dhcp-lease-max=4096 --dhcp-hostsfile=/opt/stack/grizzly/data/nova/networks/nova-br100.conf --dhcp-script=/opt/stack/grizzly/nova/bin/nova-dhcpbridge --leasefile-ro
Exit code: 1
Stdout: ''
Stderr: '\ndnsmasq: bad command line options: try --help\n'
Traceback (most recent call last):
File "/usr/local/bin/nova-network", line 7, in <module>
execfile(__file__)
File "/opt/stack/grizzly/nova/bin/nova-network", line 54, in <module>
service.wait()
File "/opt/stack/grizzly/nova/nova/service.py", line 689, in wait
_launcher.wait()
File "/opt/stack/grizzly/nova/nova/service.py", line 209, in wait
super(ServiceLauncher, self).wait()
File "/opt/stack/grizzly/nova/nova/service.py", line 179, in wait
service.wait()
File "/usr/local/lib/python2.7/dist-packages/eventlet/greenthread.py", line 168, in wait
return self._exit_event.wait()
File "/usr/local/lib/python2.7/dist-packages/eventlet/event.py", line 116, in wait
return hubs.get_hub().switch()
File "/usr/local/lib/python2.7/dist-packages/eventlet/hubs/hub.py", line 187, in switch
return self.greenlet.switch()
File "/usr/local/lib/python2.7/dist-packages/eventlet/greenthread.py", line 194, in main
result = function(*args, **kwargs)
File "/opt/stack/grizzly/nova/nova/service.py", line 147, in run_server
server.start()
File "/opt/stack/grizzly/nova/nova/service.py", line 429, in start
self.manager.init_host()
File "/opt/stack/grizzly/nova/nova/network/manager.py", line 1604, in init_host
super(FlatDHCPManager, self).init_host()
File "/opt/stack/grizzly/nova/nova/network/manager.py", line 346, in init_host
self._setup_network_on_host(ctxt, network)
File "/opt/stack/grizzly/nova/nova/network/manager.py", line 1619, in _setup_network_on_host
self.driver.update_dhcp(elevated, dev, network)
File "/opt/stack/grizzly/nova/nova/network/linux_net.py", line 938, in update_dhcp
restart_dhcp(context, dev, network_ref)
File "/opt/stack/grizzly/nova/nova/openstack/common/lockutils.py", line 242, in inner
retval = f(*args, **kwargs)
File "/opt/stack/grizzly/nova/nova/network/linux_net.py", line 1048, in restart_dhcp
_execute(*cmd, run_as_root=True)
File "/opt/stack/grizzly/nova/nova/network/linux_net.py", line 1141, in _execute
return utils.execute(*cmd, **kwargs)
File "/opt/stack/grizzly/nova/nova/utils.py", line 239, in execute
cmd=' '.join(cmd))
ProcessExecutionError: Unexpected error while running command.
Command: sudo nova-rootwrap /etc/nova/rootwrap.conf env CONFIG_FILE=["/etc/nova/nova.conf"] NETWORK_ID=1 dnsmasq --strict-order --bind-interfaces --conf-file= --domain= --pid-file=/opt/stack/grizzly/data/nova/networks/nova-br100.pid --listen-address=10.4.128.1 --except-interface=lo --dhcp-range=set:private,10.4.128.2,static,120s --dhcp-lease-max=4096 --dhcp-hostsfile=/opt/stack/grizzly/data/nova/networks/nova-br100.conf --dhcp-script=/opt/stack/grizzly/nova/bin/nova-dhcpbridge --leasefile-ro
Exit code: 1
Stdout: ''
Stderr: '\ndnsmasq: bad command line options: try --help\n'
Fix proposed to branch: master /review. openstack. org/25543
Review: https:/