diff --git a/nova/network/linux_net.py b/nova/network/linux_net.py index 8d65b2c362..f0173d47af 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 6aea1c93b8..bd734bed31 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'),