summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Hill <david.hill@ubisoft.com>2013-03-25 16:27:25 -0400
committerDavid Hill <david.hill@ubisoft.com>2013-03-26 10:35:50 -0400
commitfb151b5e3704c9a293f10ba89abc14f83d803c24 (patch)
treea16eda3e567081181d0922afafc4e4362c0332f3
parent2900258d5e117afd302ecff3411658910078d431 (diff)
downloadnova-fb151b5e3704c9a293f10ba89abc14f83d803c24.tar.gz
nova-fb151b5e3704c9a293f10ba89abc14f83d803c24.tar.xz
nova-fb151b5e3704c9a293f10ba89abc14f83d803c24.zip
Adding netmask to dnsmasq argument --dhcp-range
By default, dnsmasq will try to guess the proper subnet size but sometimes it will fail. This patch provides the network netmask to dnsmasq via the --dhcp-range argument. Fixes: bug #1154929 Change-Id: I74d62c837b5310004b9151851697e3ea3b475f92
-rw-r--r--nova/network/linux_net.py3
-rw-r--r--nova/tests/network/test_linux_net.py4
2 files changed, 5 insertions, 2 deletions
diff --git a/nova/network/linux_net.py b/nova/network/linux_net.py
index 8d65b2c36..f0173d47a 100644
--- a/nova/network/linux_net.py
+++ b/nova/network/linux_net.py
@@ -1019,9 +1019,10 @@ def restart_dhcp(context, dev, network_ref):
'--pid-file=%s' % _dhcp_file(dev, 'pid'),
'--listen-address=%s' % network_ref['dhcp_server'],
'--except-interface=lo',
- '--dhcp-range=set:%s,%s,static,%ss' %
+ '--dhcp-range=set:%s,%s,static,%s,%ss' %
(network_ref['label'],
network_ref['dhcp_start'],
+ network_ref['netmask'],
CONF.dhcp_lease_time),
'--dhcp-lease-max=%s' % len(netaddr.IPNetwork(network_ref['cidr'])),
'--dhcp-hostsfile=%s' % _dhcp_file(dev, 'conf'),
diff --git a/nova/tests/network/test_linux_net.py b/nova/tests/network/test_linux_net.py
index 6aea1c93b..bd734bed3 100644
--- a/nova/tests/network/test_linux_net.py
+++ b/nova/tests/network/test_linux_net.py
@@ -480,6 +480,7 @@ class LinuxNetworkTestCase(test.TestCase):
'label': 'fake',
'multi_host': False,
'cidr': '10.0.0.0/24',
+ 'netmask': '255.255.255.0',
'dns1': '8.8.4.4',
'dhcp_start': '1.0.0.2',
'dhcp_server': '10.0.0.1'}
@@ -507,8 +508,9 @@ class LinuxNetworkTestCase(test.TestCase):
'--pid-file=%s' % linux_net._dhcp_file(dev, 'pid'),
'--listen-address=%s' % network_ref['dhcp_server'],
'--except-interface=lo',
- "--dhcp-range=set:%s,%s,static,%ss" % (network_ref['label'],
+ "--dhcp-range=set:%s,%s,static,%s,%ss" % (network_ref['label'],
network_ref['dhcp_start'],
+ network_ref['netmask'],
CONF.dhcp_lease_time),
'--dhcp-lease-max=256',
'--dhcp-hostsfile=%s' % linux_net._dhcp_file(dev, 'conf'),