# 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
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(
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)
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'],