in Templates/kerberosSideCar/krb_side_car.py [0:0]
def get_dc_server_names(directory_name_arg):
"""
Get DNS servers that resolve to directory name
:param directory_name_arg: Directory name such as example.com
:type directory_name_arg: basestring
:return: list of DNS server names
:rtype: basestring
"""
# Find IP of DNS server
ip_list = dns.resolver.resolve(directory_name_arg)
# Get server name of DNS server, such as server.example.com
if ip_list is None or len(ip_list) == 0:
print("**ERROR DNS resolution failed for %s" % directory_name_arg)
raise NameError("**ERROR DNS resolution failed for %s" % directory_name_arg)
server_names = []
for ip in ip_list:
name, _, _ = socket.gethostbyaddr(str(ip))
server_names.append(name)
return server_names