bundles/powerdns: ensure primary servers are in database
This commit is contained in:
parent
f8416215d5
commit
6d2cf0fa24
2 changed files with 31 additions and 3 deletions
|
@ -86,6 +86,8 @@ def get_ips_of_secondary_nameservers(metadata):
|
|||
ips = set()
|
||||
for rnode in repo.nodes_in_group('dns'):
|
||||
if rnode.metadata.get('powerdns/is_secondary', False):
|
||||
if rnode.name == node.name:
|
||||
raise BundleError(f'{node.name} cannot be its own secondary')
|
||||
for _, found_ips in repo.libs.tools.resolve_identifier(repo, rnode.name).items():
|
||||
ips.update({str(ip) for ip in found_ips})
|
||||
|
||||
|
@ -102,11 +104,15 @@ def get_ips_of_primary_nameservers(metadata):
|
|||
if not metadata.get('powerdns/is_secondary', False):
|
||||
return {}
|
||||
|
||||
ips = set()
|
||||
ips = {}
|
||||
for rnode in repo.nodes_in_group('dns'):
|
||||
if not rnode.metadata.get('powerdns/is_secondary', False):
|
||||
if rnode.name == node.name:
|
||||
raise BundleError(f'{node.name} cannot be its own secondary')
|
||||
hostname = rnode.metadata.get('hostname')
|
||||
ips[hostname] = set()
|
||||
for _, found_ips in repo.libs.tools.resolve_identifier(repo, rnode.name).items():
|
||||
ips.update({str(ip) for ip in found_ips})
|
||||
ips[hostname].update({str(ip) for ip in found_ips})
|
||||
|
||||
return {
|
||||
'powerdns': {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue