3826: Merge branch 'master' into 3826-crunchstat-netstats
[arvados.git] / sdk / python / arvados / keep.py
index 323251d3e911a7eda979f84f89e33be982a8c318..37b1c17902a89b5fb4992eb4d398aeb05b1f7530 100644 (file)
@@ -473,14 +473,14 @@ class KeepClient(object):
             if not keep_services:
                 raise arvados.errors.NoKeepServersError()
 
-            self.using_proxy = (keep_services[0].get('service_type') ==
-                                'proxy')
-
-            roots = (("http%s://%s:%d/" %
-                      ('s' if f['service_ssl_flag'] else '',
-                       f['service_host'],
-                       f['service_port']))
-                     for f in keep_services)
+            self.using_proxy = any(ks.get('service_type') == 'proxy'
+                                   for ks in keep_services)
+
+            roots = ("{}://[{}]:{:d}/".format(
+                        'https' if ks['service_ssl_flag'] else 'http',
+                         ks['service_host'],
+                         ks['service_port'])
+                     for ks in keep_services)
             self.service_roots = sorted(set(roots))
             _logger.debug(str(self.service_roots))