Allow multiple DNS forwarders for dnsmasq
This patch change the dnsmasq_server configuration option to a ListOpt in order to enable user to specify multiple DNS forwarders for each dnsmasq instance. DocImpact Change-Id: I21963b4a6c99e4edb11040d77a6aeaa35ff44641 Closes-bug: #1240027
This commit is contained in:
parent
ba12cc88ce
commit
a269541c60
@ -62,8 +62,9 @@
|
||||
# Override the default dnsmasq settings with this file
|
||||
# dnsmasq_config_file =
|
||||
|
||||
# Use another DNS server before any in /etc/resolv.conf.
|
||||
# dnsmasq_dns_server =
|
||||
# Comma-separated list of DNS servers which will be used by dnsmasq
|
||||
# as forwarders.
|
||||
# dnsmasq_dns_servers =
|
||||
|
||||
# Limit number of leases to prevent a denial-of-service.
|
||||
# dnsmasq_lease_max = 16777216
|
||||
|
@ -49,9 +49,10 @@ OPTS = [
|
||||
cfg.StrOpt('dnsmasq_config_file',
|
||||
default='',
|
||||
help=_('Override the default dnsmasq settings with this file')),
|
||||
cfg.StrOpt('dnsmasq_dns_server',
|
||||
help=_('Use another DNS server before any in '
|
||||
'/etc/resolv.conf.')),
|
||||
cfg.ListOpt('dnsmasq_dns_servers',
|
||||
help=_('Comma-separated list of the DNS servers which will be '
|
||||
'used as forwarders.'),
|
||||
deprecated_name='dnsmasq_dns_server'),
|
||||
cfg.BoolOpt('dhcp_delete_namespaces', default=False,
|
||||
help=_("Delete namespace after removing a dhcp server.")),
|
||||
cfg.IntOpt(
|
||||
@ -364,8 +365,10 @@ class Dnsmasq(DhcpLocalProcess):
|
||||
min(possible_leases, self.conf.dnsmasq_lease_max))
|
||||
|
||||
cmd.append('--conf-file=%s' % self.conf.dnsmasq_config_file)
|
||||
if self.conf.dnsmasq_dns_server:
|
||||
cmd.append('--server=%s' % self.conf.dnsmasq_dns_server)
|
||||
if self.conf.dnsmasq_dns_servers:
|
||||
cmd.extend(
|
||||
'--server=%s' % server
|
||||
for server in self.conf.dnsmasq_dns_servers)
|
||||
|
||||
if self.conf.dhcp_domain:
|
||||
cmd.append('--domain=%s' % self.conf.dhcp_domain)
|
||||
|
@ -663,11 +663,19 @@ class TestDnsmasq(TestBase):
|
||||
self._test_spawn(['--conf-file='])
|
||||
|
||||
def test_spawn_cfg_dns_server(self):
|
||||
self.conf.set_override('dnsmasq_dns_server', '8.8.8.8')
|
||||
self.conf.set_override('dnsmasq_dns_servers', ['8.8.8.8'])
|
||||
self._test_spawn(['--conf-file=',
|
||||
'--server=8.8.8.8',
|
||||
'--domain=openstacklocal'])
|
||||
|
||||
def test_spawn_cfg_multiple_dns_server(self):
|
||||
self.conf.set_override('dnsmasq_dns_servers', ['8.8.8.8',
|
||||
'9.9.9.9'])
|
||||
self._test_spawn(['--conf-file=',
|
||||
'--server=8.8.8.8',
|
||||
'--server=9.9.9.9',
|
||||
'--domain=openstacklocal'])
|
||||
|
||||
def test_spawn_max_leases_is_smaller_than_cap(self):
|
||||
self._test_spawn(
|
||||
['--conf-file=', '--domain=openstacklocal'],
|
||||
|
Loading…
Reference in New Issue
Block a user