Add DNS nameservers to networks

This commit is contained in:
2019-12-08 23:32:03 -05:00
parent 9cb5561e77
commit 1fb560e996
6 changed files with 56 additions and 12 deletions

View File

@ -222,7 +222,11 @@ class DNSNetworkInstance(object):
(domain_id, network_domain, 'nsX.{d} root.{d} 1 10800 1800 86400 86400'.format(d=self.config['upstream_domain']), 'SOA', 86400, 0)
)
ns_servers = ['pvc-ns.{}'.format(self.config['upstream_domain'])]
if self.network.name_servers:
ns_servers = self.network.name_servers
else:
ns_servers = ['pvc-dns.{}'.format(self.config['upstream_domain'])]
for ns_server in ns_servers:
sql_curs.execute(
"""

View File

@ -90,6 +90,7 @@ class VXNetworkInstance(object):
self.old_description = None
self.description = None
self.domain = None
self.name_servers = None
self.ip6_gateway = zkhandler.readdata(self.zk_conn, '/networks/{}/ip6_gateway'.format(self.vni))
self.ip6_network = zkhandler.readdata(self.zk_conn, '/networks/{}/ip6_network'.format(self.vni))
self.ip6_cidrnetmask = zkhandler.readdata(self.zk_conn, '/networks/{}/ip6_network'.format(self.vni)).split('/')[-1]
@ -180,6 +181,17 @@ add rule inet filter forward ip6 saddr {netaddr6} counter jump {vxlannic}-out
domain = data.decode('ascii')
self.domain = domain
@self.zk_conn.DataWatch('/networks/{}/name_servers'.format(self.vni))
def watch_network_name_servers(data, stat, event=''):
if event and event.type == 'DELETED':
# The key has been deleted after existing before; terminate this watcher
# because this class instance is about to be reaped in Daemon.py
return False
if data and self.name_servers != data.decode('ascii'):
name_servers = data.decode('ascii').split(',')
self.name_servers = name_servers
@self.zk_conn.DataWatch('/networks/{}/ip6_network'.format(self.vni))
def watch_network_ip6_network(data, stat, event=''):
if event and event.type == 'DELETED':