)]}'
{"glance/common/auth.py":[{"author":{"_account_id":6159,"name":"Flavio Percoco Premoli","display_name":"flaper87","email":"flavio.percoco@flyrlabs.com","username":"flaper87"},"change_message_id":"6e3b002e766dfb77bc8a3f5ff5748ac1b6f9a9b5","unresolved":false,"context_lines":[{"line_number":269,"context_line":"    only one -- successful match in the catalog,"},{"line_number":270,"context_line":"    otherwise we will raise an exception."},{"line_number":271,"context_line":"    \"\"\""},{"line_number":272,"context_line":"    endpoints \u003d ks_service_catalog.ServiceCatalogV2("},{"line_number":273,"context_line":"        {\u0027serviceCatalog\u0027: service_catalog}"},{"line_number":274,"context_line":"    ).get_urls(service_type\u003dservice_type,"},{"line_number":275,"context_line":"               region_name\u003dendpoint_region,"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a5ae5dd_7e80b5c0","line":272,"updated":"2016-02-05 03:09:42.000000000","message":"Aren\u0027t most of the services moving to use Keystone v3 ? Is this something we should also support?","commit_id":"21eecab71facdaf4fc42955e227f196b7d328367"},{"author":{"_account_id":14676,"name":"Kairat Kushaev","email":"kkushaev@mirantis.com","username":"kairat_kushaev"},"change_message_id":"c0964fa0b346a7f4648c471ae5f5d5e8d4e4acc7","unresolved":false,"context_lines":[{"line_number":269,"context_line":"    only one -- successful match in the catalog,"},{"line_number":270,"context_line":"    otherwise we will raise an exception."},{"line_number":271,"context_line":"    \"\"\""},{"line_number":272,"context_line":"    endpoints \u003d ks_service_catalog.ServiceCatalogV2("},{"line_number":273,"context_line":"        {\u0027serviceCatalog\u0027: service_catalog}"},{"line_number":274,"context_line":"    ).get_urls(service_type\u003dservice_type,"},{"line_number":275,"context_line":"               region_name\u003dendpoint_region,"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a57f1b5_8f1a7a16","line":272,"in_reply_to":"5a5ae5dd_7e80b5c0","updated":"2016-02-10 11:06:38.000000000","message":"Not all services migrated to v3, AFAIK.\nAlso keystone middleware converts v3 service catalog to v2:\nhttps://github.com/openstack/keystonemiddleware/blob/a52eb9860cb4ce69857eb97d19a54dce95e3e8a0/keystonemiddleware/auth_token/_request.py#L176\nSo it looks safer at the current moment IMO.","commit_id":"21eecab71facdaf4fc42955e227f196b7d328367"},{"author":{"_account_id":6484,"name":"Feilong Wang","email":"hustemb@gmail.com","username":"flwang"},"change_message_id":"d0ae8307d54d9210ef33349bee325fe040b91709","unresolved":false,"context_lines":[{"line_number":278,"context_line":"        raise exception.NoServiceEndpoint()"},{"line_number":279,"context_line":"    elif len(endpoints) \u003d\u003d 1:"},{"line_number":280,"context_line":"        return endpoints[0]"},{"line_number":281,"context_line":"    else:"},{"line_number":282,"context_line":"        raise exception.RegionAmbiguity(region\u003dendpoint_region)"}],"source_content_type":"text/x-python","patch_set":2,"id":"7a5de9d1_1f182dd2","line":281,"updated":"2016-02-02 03:17:11.000000000","message":"(nit): RegionAmbiguity means there are multi endpoints returned. But is it possible that the len(endpoints) \u003d\u003d 0 but not None, then exception RegionAmbiguity is a little bit confused. So can you use below check?\n\n if endpoints is None or len(endpoints)\u003d\u003d0:","commit_id":"21eecab71facdaf4fc42955e227f196b7d328367"},{"author":{"_account_id":14676,"name":"Kairat Kushaev","email":"kkushaev@mirantis.com","username":"kairat_kushaev"},"change_message_id":"050b352773072d203bb0beab9f81ae24464c902b","unresolved":false,"context_lines":[{"line_number":278,"context_line":"        raise exception.NoServiceEndpoint()"},{"line_number":279,"context_line":"    elif len(endpoints) \u003d\u003d 1:"},{"line_number":280,"context_line":"        return endpoints[0]"},{"line_number":281,"context_line":"    else:"},{"line_number":282,"context_line":"        raise exception.RegionAmbiguity(region\u003dendpoint_region)"}],"source_content_type":"text/x-python","patch_set":2,"id":"7a5de9d1_c1586f33","line":281,"in_reply_to":"7a5de9d1_1f182dd2","updated":"2016-02-02 08:21:33.000000000","message":"According to the method description it is not possible:\nhttps://github.com/openstack/python-keystoneclient/blob/master/keystoneclient/service_catalog.py#L232\nSo endpoints must be either non-empty list or None.","commit_id":"21eecab71facdaf4fc42955e227f196b7d328367"}]}
