def resolve_hdfs_name_service(self, namespace):
        """
        Given the namespace of a name service, resolves the configured list of name nodes, and
        returns them as a list of URL strings.

        :param namespace: the HDFS name service to resolve
        :return: a list of URL strings of the name nodes for the given name service; or None of not
            properly configured.
        """
        list_of_namenodes = None
        namenodes = self._hadoop_configuration.get('dfs.ha.namenodes.' + namespace)
        if namenodes:
            # populate namenode_urls list for the given namespace
            list_of_namenodes = []
            for nn in namenodes.split(','):
                prop_key = 'dfs.namenode.rpc-address.{}.{}'.format(namespace, nn)
                namenode_url = self._hadoop_configuration.get(prop_key)
                if namenode_url:
                    list_of_namenodes.append(namenode_url)
                else:
                    raise RuntimeError(self._build_error_string('Failed to get property "{}" from'
                                                                .format(prop_key)))
        # Don't raise and exception otherwise, because the supplied name could just be a hostname.
        # We don't have an easy way to tell at this point.
        return list_of_namenodes

        Given the namespace of a name service, resolves the configured list of name nodes, and
        returns them as a list of URL strings.

        :param namespace: the HDFS name service to resolve
        :return: a list of URL strings of the name nodes for the given name service; or None of not
            properly configured.
        
petastorm/hdfs/namenode.py