def get_available_urls(self, urls):
    baseurl_to_urls = {self._baseurl(url): url for url in urls}
    pingtimes = self._pinger.pings(list(baseurl_to_urls.keys()))
    self._log.debug('Artifact cache server ping times: {}'
                    .format(', '.join(['{}: {:.6f} secs'.format(*p) for p in pingtimes])))
    sorted_pingtimes = sorted(pingtimes, key=lambda x: x[1])
    available_urls = [baseurl_to_urls[baseurl] for baseurl, pingtime in sorted_pingtimes
                      if pingtime < Pinger.UNREACHABLE]
    self._log.debug('Available cache servers: {0}'.format(available_urls))
    return available_urls